Ниже приведена DLL с XE3.ShowMessage в Delphi XE3 DllMain
library MyDLL;
uses System.SysUtils, System.Classes, Vcl.Dialogs;
{$R *.res}
var
II: Integer;
function Test: Integer;
begin
Result := II;
end;
exports Test;
begin
II := 5;
ShowMessage('DLL prolog');
end.
Когда я вызываю функцию Test()
из Delphi XE3 или Delphi программа 2007 я получаю правильный результат (5) в обоих случаях. Но сообщение «DLL пролог» отображается только с программой Delphi 2007, а не с программой Delphi XE3. Зачем?
Редактировать
И когда я "запустить" DLL из XE3 IDE с Delphi 2007 хост ShowMessage()
также не работает.
Вы пытались использовать стандартные окна ['MessageBox'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505%28v=vs.85%29.aspx) вместо ? –
Да 'MessageBox' работает нормально!? – Branko
Вы знаете, что существуют серьезные ограничения на то, что вы можете сделать с DllMain? –