![]() |
|
|
#1
|
|||
|
|||
|
Проблема в следующем: создание и вызов формы из DLL получается, а вот создание фрейма - нет. Вот как я делаю:
В DLL: Код:
library dllClient;
uses
SysUtils,Classes, Forms,
UnitClient in 'UnitClient.pas';{Frame1: TFrame}
{$R *.res}
procedure FreeUnitClient(var Frm : TFrame); stdcall;
begin
FreeAndNil(Frm);
end;
function MakeUnitClient(AOwner:TComponent) : pointer; register;
begin
Result := TFrame1.Create(AOwner);
end;
exports
FreeUnitClient,
MakeUnitClient;В программе: Код:
procedure TForm1.sFrameBar1Items2CreateFrame(Sender: TObject; var Frame: TCustomFrame); var FrameUnitClient: TFrame; begin //Frame21Bar := TFrame2.Create(nil); //Frame := Frame21Bar; FrameUnitClient:=MakeUnitClient(nil); Frame:=FrameUnitClient; //FreeUnitClient(FrameUnitClient); end; Как правильно вызывать фреймы из DLL? Заккоментированные строки работают 100%, но этот фрейм подключен через uses.Помогите кто чем может, два дня стою на месте. |