Некорректная Работа В DLL

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Некорректная Работа В DLL

Некорректная Работа В DLL

Shouldercannon » 02 янв 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?

Вернуться к началу