아주 급한 질문입니다. 흑흑..
폼있는 DLL 에서 부르는쪽에서는
PROCEDURE AAA(S : STRING); EXTERNAL 'AAA.DLL';
로 되어있고, 끌려가는 쪽에서는
PROCEDURE AAA; EXPORT;
아.. 실수입니다.. 온라인이라.. 죄송..
PROCEDURE AAA(S : STRING); EXPORT;
PROCEDURE AAA(S : STRING);
VAR FORM : TFORM1;
BEGIN
FORM := TFORM.CREATE(APPLICATION);
FORM.SHOWMODAL;
FORM.FREE;
END;
대충 이렇게 되어있습니다만..
이럴경우에 전에 해본결과 불러온 쪽에서 AAA(EDIT1.TEXT) 로
입력해서 폼 실행되는 쪽에서 AAA 의 자료를 받을수 있도록 하면서
폼을 출력하는 것인데.. 이것을 동적으로 변경하려는데 문제가
좀 많이 생겨서 그렇습니다..
제가 사용한 소스중 일부입니다.. 동적표현..
function TMForm.DllSMains : Boolean;
var
H : HInst;
begin
H := LoadLibrary(PChar('Dlls\SMain.Dll'));
if H <= 0 then
begin
Result := False;
Exit;
end else
begin
try
@DllSMain := GetProcAddress(H, PChar('DllSMain'));
DllSMain;
if H <> 0 then Result := True
else Result := False;
Finally
FreeLibrary(H);
end;
end;
end;
위와같이 메인을 불렀는데 위와같은 코드형식으로 위에 설명한
AAA 에 대한 코드 전송방식을 동적으로 변경해 주셨으면 합니다.
위의 소스에서 DllSMain; 이라고 되어있는 부분을 DllSMain(Edit1.Text);
로 하면 에러가 생기고.. 도통 어떻게 해결해야할지.. --;
감사합니다..
From : IKN Webmaster
Tae-Jin KIM (김태진)
|