안녕하심까? 꾸벅.
Delphi를 Uninstall 시킨후에 다시 설치하고
Format하기전에 등록했던 Faceplate.ocx라는 놈을
등록했는데 이 ocx를 사용하는 프로그램을 Compile하면
Undefined identifier 'TControlData2' 등등 이런 에러가 나옵니다.
물론 그 밑의 소스들도 덩달아서 에러가 나오구요.(아래 소스 참고하세요)
근데 더 이상한건 이 ocx를 사용한 프로그램이 3개 정도(ocx 동적/정적 생성)
되는데 어떤놈은 되고 어떤놈은 에러가 납니다.
ocx는 Component/Import ActiveX Control... 에서 Import시켰습니다.
ocx 등록에 문제가 있는지요...
문제가 있다면 이 기회에 ocx 등록/과 사용시 문제점에 대해
자세히 알고 싶습니다.
부탁함다.
그럼. 즐거운 코딩 하세요.~~~^^
--------------------------------------------------
procedure TFaceplate.InitControlData;
const
CEventDispIDs: array [0..11] of DWORD = (
$00000001, $00000002, $00000003, $00000004, $00000005, $00000006,
$0000000A, $0000000F, $00000007, $00000008, $00000009, $0000000B);
CTFontIDs: array [0..0] of DWORD = (
$FFFFFE00);
CControlData: TControlData2 = (
ClassID: '{4396B44F-74BC-11D3-AC19-0060B07D9D26}';
EventIID: '{4396B44D-74BC-11D3-AC19-0060B07D9D26}';
EventCount: 12;
EventDispIDs: @CEventDispIDs;
LicenseKey: nil;
Flags: $0000001D;
Version: 401;
FontCount: 1;
FontIDs: @CTFontIDs);
begin
ControlData := @CControlData;
TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnActivate) - Cardinal(Self);
end;
import시킨 ActiveX 유닛을 uses절에 추가시켜 주세요.
undefined identifier는 선언되지 않은 객체나 변수등을 참조할때 발생합니다.
TControlData2란게 어디에 있는지 찾아서 uses절에 그 유닛을 추가해 주세요.
^^ 항상 즐코하세요.
야근 wrote:
> 안녕하심까? 꾸벅.
>
> Delphi를 Uninstall 시킨후에 다시 설치하고
> Format하기전에 등록했던 Faceplate.ocx라는 놈을
> 등록했는데 이 ocx를 사용하는 프로그램을 Compile하면
>
> Undefined identifier 'TControlData2' 등등 이런 에러가 나옵니다.
> 물론 그 밑의 소스들도 덩달아서 에러가 나오구요.(아래 소스 참고하세요)
>
> 근데 더 이상한건 이 ocx를 사용한 프로그램이 3개 정도(ocx 동적/정적 생성)
> 되는데 어떤놈은 되고 어떤놈은 에러가 납니다.
>
> ocx는 Component/Import ActiveX Control... 에서 Import시켰습니다.
> ocx 등록에 문제가 있는지요...
> 문제가 있다면 이 기회에 ocx 등록/과 사용시 문제점에 대해
> 자세히 알고 싶습니다.
> 부탁함다.
> 그럼. 즐거운 코딩 하세요.~~~^^
> --------------------------------------------------
> procedure TFaceplate.InitControlData;
> const
> CEventDispIDs: array [0..11] of DWORD = (
> $00000001, $00000002, $00000003, $00000004, $00000005, $00000006,
> $0000000A, $0000000F, $00000007, $00000008, $00000009, $0000000B);
> CTFontIDs: array [0..0] of DWORD = (
> $FFFFFE00);
> CControlData: TControlData2 = (
> ClassID: '{4396B44F-74BC-11D3-AC19-0060B07D9D26}';
> EventIID: '{4396B44D-74BC-11D3-AC19-0060B07D9D26}';
> EventCount: 12;
> EventDispIDs: @CEventDispIDs;
> LicenseKey: nil;
> Flags: $0000001D;
> Version: 401;
> FontCount: 1;
> FontIDs: @CTFontIDs);
> begin
> ControlData := @CControlData;
> TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnActivate) - Cardinal(Self);
> end;