Q&A

  • Form1.handle 핸들이 어떤뜻인가요..

Busu := ArosGetBookBusu(form1.handle,Dir+FileName);

위와같이 소스를 보다보면 handle 이라는게 마니 나오는데

어떤의미인지 잘 모르겠습니다..

도움 부탁드립니다..

2  COMMENTS
  • Profile
    김경록 2003.12.17 01:53
    Handle이란,
    특정 Object가 Instance화 되어서 Memory에 Loading될때,
    운영체제가 지정한 특정 값을 말합니다.
    즉, 운영체제가 특정 instance는 "이거다!!" 라고 순번을 매겨 놓은 겁니다..
    (Object와 Instance는 같다고 하지만, 엄연히 다른 것입니다.
    Object는 "어떤 물체는 이런 특성을 같는다"라고 정의한 것이고,
    Instance는 Object를 실제 컴퓨터에서 사용할 수 있게,
    메모리를 할당받고 운영체제 혹은 다른 Instance가 접근가능한
    형태로 있는 것을 말합니다.
    간단히 말해서, Object를 메모리에 Load 된 것을 말합니다..)


    ps.
    윈도우에서 Instance들은 모두 Handle을 가집니다..
    따라서, Handle을 가지고, 특정 Instance를 Close하거나,
    특정 Message를 보낼 수도 있구..
    기타등등 많은 것을 할 수 있습니다..


  • Profile
    이중철 2003.12.18 06:05
    답변이 틀릴 수도 있습니다.

    답변 올리신분이 잘못 되었다는 것은 아닙니다.

    답변이야 잘 알지 못하였을 경우 틀릴수도 있습니다.

    그렇지만 답변내용이 수정이 안되고 고착되어 있으면

    다른 프로그래머들께서 이 답변이 맞다고

    판단이 해 버릴 수도 있기에 수정 답변이 꼭 필요합니다.


    Handle은 WinControl에서 상속받아진 클래스가

    Object가 되면서 부여받는 고유의 순번같은것으로 생각하면 됩니다.

    그리고 답변 내용 중

    [Object는 "어떤 물체는 이런 특성을 같는다"라고 정의한 것]

    이것이 아니라

    [Class는 "어떤 물체는 이런 특성을 같는다"라고 정의한 것]

    이것이 정답입니다.

    Object는 위의 클래스를 메모리에 할당되어야만 그 의미가 부여 됩니다.

    Handle는 그 중에서 WinControl에서 상속받아진 Class에서

    Object화 되면서 생성되는 것 입니다.(꼭 그럴까 .. 그건 아님 대부분이라고

    해야 함)

    그리고 참고로 Object는 넓은 의미로 Class에서 생성된 것 뿐만

    아니라 객체라고 칭할수 있는 모든 것을 의미합니다.

    즉, 변수들 같은것들도 엄밀히 말하면 Object입니다.

    OOP에서는 Object를 Class의 Instance라고 합니다.

    델파이 원문을 보냅니다. 이는 대부분의 OOP와 동일합니다.

    그리고 님께서 P.S로 올린부분은 특정 Instance(Object)만 해당

    됩니다.

    A class, or class type, defines a structure consisting of fields, methods, and properties. Instances of a class type are called objects. The fields, methods, and properties of a class are called its components or members.

    A field is essentially a variable that is part of an object. Like the fields of a record, a class's fields represent data items that exist in each instance of the class.
            A method is a procedure or function associated with a class. Most methods operate on objects--that is, instances of a class. Some methods (called class methods) operate on class types themselves.
            A property is an interface to data associated with an object (often stored in a field). Properties have access specifiers, which determine how their data is read and modified. From other parts of a program--outside of the object itself--a property appears in most respects like a field.

    Objects are dynamically allocated blocks of memory whose structure is determined by their class type. Each object has a unique copy of every field defined in the class, but all instances of a class share the same methods. Objects are created and destroyed by special methods called constructors and destructors.

    A variable of a class type is actually a pointer that references an object. Hence more than one variable can refer to the same object. Like other pointers, class-type variables can hold the value nil. But you don't have to explicitly dereference a class-type variable to access the object it points to. For example, SomeObject.Size := 100 assigns the value 100 to the Size property of the object referenced by SomeObject; you would not write this as SomeObject^.Size := 100.