Tworzę sobie najprostszą bibliotekę DLL zawierającą formę i przycisk zamykający:
library project1;
{$mode objfpc}{$H+}
uses
Classes, Unit1, Forms, Interfaces, Form1 in 'Unit1.pas'
{ you can add units after this };
{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
procedure SF;register;
var
Form:TMainForm;
begin
Form:=TMainForm.Create(Application);
Form.ShowModal;
Form.Free;
end;
exports
SF name 'SF';
begin
end.
ale dostaję komunikat: project1.lpr(13,15) Error: Identifier not found "TMainForm"
więc zmieniam MainForm na po prostu Form.
kompilacja prawidłowa
do tego aplikacja statycznie ładująca DLL'a i uruchamiająca procedurę wyświetlenia okna po naciśnięciu przycisku.
Okno owszem pojawia się ale standardowego rozmiaru, bez ikony tytułu, bez niczego. po kliknięciu krzyżyka wyświetla się jakiś błąd natychmiast znika zarówno okno z DLL jak i programu uruchamiającego, mimo że w systemie aplikacja wciąż działa.
DLACZEGO TAK SIĘ ROBI?! CO JEST NIE TAK Z TĄ BIBLIOTEKĄ?!