2012-12-13 5 views
1

COM DLL에 (사용자 프롬프트로) 양식을 (모달) 표시하고 싶습니다. DLL 메소드는 결국 브라우저의 JavaScript에 의해 호출되지만, 내 선택은 &은 변경할 수 없습니다.DLL에 양식을 표시 할 수 있습니까?

그러나 Delphi 테스트 프로그램에서 DLL 메서드를 호출하면 액세스 위반이 발생합니다.

내가하려는 일을 할 수 있습니까?

+3

물론, 당신은 왜 ... – whosrdaddy

답변

3

전혀 문제가되지 않습니다. 아마도 폼에 자동 생성을 사용하고있을 것입니다. EXE 프로젝트에서만 발생합니다. 내 추측이 맞다면 결코 초기화되지 않는 TMyForm 유형의 전역 변수를 갖게 될 것입니다.

는이 같은 뭔가가 필요 :

var 
    MyForm: TMyForm;//local variable 
.... 
MyForm := TMyForm.Create(nil); 
try 
    MyForm.ShowModal; 
finally 
    MyForm.Free; 
end; 
+1

@Marjan을 가지고 무엇을 우리에게 보여? 이는 Application.CreateForm을 호출해야만 수행 할 수 있습니다. 나는 내 DLL에서 그렇게하지 않는다. 그렇게 할 필요가 없습니다. –

+1

@ MarjanVenema 응용 프로그램 메시지를 수신하는 핸들이기 때문에 Application.Handle을 기본 응용 프로그램 핸들로 설정해야한다고 생각합니다. 다른 폼이 모달로 표시 될 때 폼을 잠글 필요가있을 때 알림을받는 핸들이라고 생각합니다. 따라서 DLL 폼을 모달로 표시해야하는 경우 필요할 수 있습니다. 하지만 먼저 테스트 해 볼 필요가없는 트릭을 구현합니다. – GolezTrol

+0

@GolezTrol : 그게 전부입니다. 안개를 닦아 주셔서 고마워요. 이전 댓글 삭제 중. 그리고 먼저 테스트하는 데 귀하의 조언에 동의합니다! –

관련 문제