-
> а в DoneDll: Form1.Free
> Убрав DoneDll все стало работать
Те же фаберже, только вид сбоку - где-то присутствует попытка повторного уничтожения объекта, только в д.сл. этим объектом является объект-форма.
-
По логике вещей - да. Но не вижу где.
function InitDll():boolean; stdcall;
begin
Form1:= TForm1.Create(Application);
Result:= true;
end;
function DoneDll():boolean; stdcall;
begin
Form1.Free;
Result:= true;
end;
Function ShowForm(): boolean; stdcall;
begin
form1.show;
Result:= true;
end; Вызыв: var hdll: THandle;
..OnCreate(sender);
begin
...
hdll:=LoadLibrary('zzz.dll');
@InitDll:= getprocadress(hdll,'InitDll');
ItitDll;
...
OnDestroy
DaneDll;
FreeLibrary(hdll);
...
OnClick (кнопочка на главной форме)
ShowForm; Тоесть все по класической схеме.
-
> Form1:= TForm1.Create(Application);
Application здесь от балды написано ? Или ты понимаешь смысл именно такого указания ?
-
stdcall тоже от балды указано ? Это, конечно, не принципиально, но нельзя же бездумно сдувать чужой код, "заточенный" под чиную специфику)
-
> Form1:= TForm1.Create(Application);
Сделано для указания родителя, вовсе не бездумно. Мне нужно, чтоб наследовала форма некоторые свойства от Application. А по поводу StdCall - это для того, чтоб работали мой длл не только с моим приложением. Теорию я знаю, и бездумно не сдираю чужие коды - этож класика ...
-
> Maxick © (17.03.08 10:08) [44]
> А по поводу StdCall - это для того, чтоб работали мой длл > не только с моим приложением. Теорию я знаю, и бездумно
Сказка про белого бычка.
-- Regards, LVT.
-
> Leonid Troyanovsky © (17.03.08 10:13) [45]
а попробуй без соглашения CtdCall вызвать функцию из DLL написаной на Delphi в С++...
-
> Сделано для указания родителя, вовсе не бездумно. Мне нужно, > чтоб наследовала форма некоторые свойства от Application.
Ни "родительские" ни "наследственные" отношения не имеют к параметру Owner никакого отношения.
Owner - это владелец, а не "родитель" и тем более не "предок".
> Теорию я знаю, и бездумно не сдираю чужие коды - этож класика
Да-да, оно заметно.
> попробуй без соглашения CtdCall вызвать функцию из DLL написаной > на Delphi в С++
Ну и какой нафих Application в C++ ? И c какой луны там взялся TIBDatabase, который ты вознамерился передать в свою dll ?
|