PDA

Просмотр полной версии : Некорректная Работа В DLL



Shouldercannon
02.01.2012, 12:27
library dll;

uses
SysUtils,
Windows,
Dialogs,
Controls,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

procedure ShowInfo(Win: Integer); stdcall;
begin
Form1[Win] := TForm1.Create(nil);
Form1[Win].Show;
end;

function FormClosed(Win: Integer): Integer;
begin
if not Form1[Win].Visible then
begin
Form1[Win].Release;
Result := 1;
end
else Result := 0;
end;

exports
ShowInfo, FormClosed;

begin
end.

1. В DoTerminate выполняется только одно событие
2. Прогресс бар при последующих закачках не двигается и вообще неправильно показывает прогресс
3. Нулевая реакция на синхронизацию (написанные там события не выполняются)

Тоже самое без DLL работает Великолепно. В чём проблема или это неизбежный косяк DLL?