DLL 내부에서 생성 된 양식에 약간의 문제가 있습니다.DLL 내 Application.Handle에 Application.MainForm.Handle을 할당하는 Delphi XE2
기본적으로 dll의 양식 (Form1)이 표시 될 때 (맨 위에 있어야한다고 생각하는 경우) 주 응용 프로그램의 일부인 다른 양식 (Form2)을 열 때 (즉, 살지 않습니다. DLL 내부). 힌트가 표시되도록 Form2의 컨트롤 위에 커서를 놓으면 Form2가 Form1 바로 뒤에 있습니다.
MainFormOnTaskBar가 true 인 경우에만 발생합니다. 현재 우리는 주 응용 프로그램의 Application.Handle을 DLL에 전달하고이를 DLL의 Application.Handle에 할당하고 있습니다.
대신 Application.MainForm.Handle을 DLL에서 Application.Handle에 할당 할 DLL에 전달하여 문제를 해결할 수있었습니다.
안전한가요? 누구든지이 문제를 해결할 적절한 방법을 알고 있습니까?
고마워요. DLL에 포함 된 응용 프로그램 개체에서 MainFormOnTaskBar 속성을 true로 설정해야하는지 궁금합니다. –
DLL의 응용 프로그램 객체에는 기본 양식이 없으므로 응용 프로그램 객체에서 MainFormOnTaskBar를 true로 설정하지 않아도되고 그렇지 않아도됩니다. –
동의 했으므로 실제로는 중요하지 않습니다. 왜냐하면 당신은 결코 Application.CreateForm을 호출하지 않기 때문에 Application.MainForm이 할당되지 않았다고 가정하기 때문입니다. –