Проблема в следующем: создание и вызов формы из 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;
Выдает при обращении к процедуре:raised exception class EInvalidOperation with message 'Control'Frame1'has no parent window'.
Как правильно вызывать фреймы из DLL?
Заккоментированные строки работают 100%, но этот фрейм подключен через uses.Помогите кто чем может, два дня стою на месте.