안녕하세요..영원한 델초보 어린왕자입니다.
디비 읽는 거 멈추는 방법을 찾기 위해서..
ADO유닛을 분석하는 짓을 하기 시작했슴다.
ADOInt.pas
....
Connection15 = interface(_ADO)
['{00000515-0000-0010-8000-00AA006D2EA4}']
function Get_ConnectionString: WideString; safecall;
procedure Set_ConnectionString(const pbstr: WideString); safecall; // 여기에대한 코드가 없더라구요..어떻게 된건가요??
function Get_CommandTimeout: Integer; safecall;
procedure Set_CommandTimeout(plTimeout: Integer); safecall;
function Get_ConnectionTimeout: Integer; safecall;
이상한 단어가 마니 보이는데요..
interface,Safecall이 보이네요..
간단히 설명해주실 고수님 안계셔요??
이건 인터페이스군요... 이것은 메소드만 정의되어있습니다. 변수도 가질 수 없구요.
물론 메소드도 자체에서 구현하는것이 아니라 이 인터페이스를 구현하는 객체에서
구현하구요... 책에서 COM에 관한 부분을 보시면 자세히 나와 있어요..
safecall은 파라매터 호출규약의 하나입니다. 윈API에서 많이 쓰이는 stdcall과 거의
같구요. dual-interface를 정의할때는 꼭 이 호출방식을 사용하세요. 인터페이스에
관한 것은 워낙 방대해서리... 이것만으로도 책 한두권은 나와요... OOP에서 객체와
거의 비슷하니까 책을 보시는데는 별 어려움이 없을것입니다.
^^ 항상 즐코하세요.
어린왕자 wrote:
> 안녕하세요..영원한 델초보 어린왕자입니다.
> 디비 읽는 거 멈추는 방법을 찾기 위해서..
> ADO유닛을 분석하는 짓을 하기 시작했슴다.
>
> ADOInt.pas
> ....
>
> Connection15 = interface(_ADO)
> ['{00000515-0000-0010-8000-00AA006D2EA4}']
> function Get_ConnectionString: WideString; safecall;
> procedure Set_ConnectionString(const pbstr: WideString); safecall; // 여기에대한 코드가 없더라구요..어떻게 된건가요??
> function Get_CommandTimeout: Integer; safecall;
> procedure Set_CommandTimeout(plTimeout: Integer); safecall;
> function Get_ConnectionTimeout: Integer; safecall;
>
> 이상한 단어가 마니 보이는데요..
> interface,Safecall이 보이네요..
> 간단히 설명해주실 고수님 안계셔요??