Показать сообщение отдельно
  #1  
Старый 08.07.2009, 18:21
smart_man smart_man вне форума
Прохожий
 
Регистрация: 08.12.2008
Сообщения: 40
Репутация: 10
По умолчанию создать на лету Label из DLL на форме

Есть PROJECT.PAS который содержит Form1 и прицепляет DLL. В DLL-файле нужно произвести создание на Form1 некоего графического элемента (например, Label и Button). При попытке компилировать DLL файл пишет, что Unknown identifier Form1. Что нужно добавить в код чтобы это исправить?


Текст Project.PAS:
Код:
...

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Starter();
stdcall; external 'initial.dll';

procedure TForm1.FormCreate(Sender: TObject);
begin
  Starter;
end;

end.



Текст DLL-файла:
Код:
library initial;

uses
  SysUtils, Classes, Dialogs, StdCtrls;

{$R *.res}

procedure Starter(); stdcall;
var
  label_tmp : TLabel;

begin
  ShowMessage('dll');
  label_tmp := TLabel.Create(nil);
  label_tmp.parent := Form1;
  label_tmp.Visible := True;
  label_tmp.Left := 100;
  label_tmp.Top := 100;
  label_tmp.Transparent := True;
  label_tmp.Caption := 'text';
end;

exports Starter;


begin
end.
Ответить с цитированием