Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.11;
Скачать: CL | DM;

Вниз

TIBataBase и DLL   Найти похожие ветки 

 
Сергей М. ©   (2008-03-17 08:26) [40]


> а в DoneDll: Form1.Free


> Убрав DoneDll все стало работать


Те же фаберже, только вид сбоку - где-то присутствует попытка повторного уничтожения объекта, только в д.сл. этим объектом является объект-форма.


 
Maxick ©   (2008-03-17 09:02) [41]

По логике вещей - да. Но не вижу где.

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;


Тоесть все по класической схеме.


 
Сергей М. ©   (2008-03-17 09:26) [42]


> Form1:= TForm1.Create(Application);


Application здесь от балды написано ?
Или ты понимаешь смысл именно такого указания ?


 
Сергей М. ©   (2008-03-17 09:30) [43]

stdcall тоже от балды указано ?
Это, конечно, не принципиально, но нельзя же бездумно сдувать чужой код, "заточенный" под чиную специфику)


 
Maxick ©   (2008-03-17 10:08) [44]


> Form1:= TForm1.Create(Application);

Сделано для указания родителя, вовсе не бездумно. Мне нужно, чтоб наследовала форма некоторые свойства от Application.
А по поводу StdCall - это для того, чтоб работали мой длл не только с моим приложением. Теорию я знаю, и бездумно не сдираю чужие коды - этож класика ...


 
Leonid Troyanovsky ©   (2008-03-17 10:13) [45]


> Maxick ©   (17.03.08 10:08) [44]

> А по поводу StdCall - это для того, чтоб работали мой длл
> не только с моим приложением. Теорию я знаю, и бездумно

Сказка про белого бычка.

--
Regards, LVT.


 
Maxick ©   (2008-03-17 10:48) [46]


> Leonid Troyanovsky ©   (17.03.08 10:13) [45]

а попробуй без соглашения CtdCall вызвать функцию из DLL написаной на Delphi в С++...


 
Сергей М. ©   (2008-03-17 12:37) [47]


> Сделано для указания родителя, вовсе не бездумно. Мне нужно,
>  чтоб наследовала форма некоторые свойства от Application.


Ни "родительские" ни "наследственные" отношения не имеют к параметру Owner никакого отношения.

Owner - это владелец, а не "родитель" и тем более не "предок".


> Теорию я знаю, и бездумно не сдираю чужие коды - этож класика


Да-да, оно заметно.


> попробуй без соглашения CtdCall вызвать функцию из DLL написаной
> на Delphi в С++


Ну и какой нафих Application в C++ ? И c какой луны там взялся TIBDatabase, который ты вознамерился передать в свою dll ?



Страницы: 1 2 вся ветка

Текущий архив: 2009.01.11;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.014 c
4-1203014467
AlexeyShestchenko
2008-02-14 21:41
2009.01.11
порядок нахождения


2-1227773282
kate158
2008-11-27 11:08
2009.01.11
расчет медианы набора данных


15-1226267200
KilkennyCat
2008-11-10 00:46
2009.01.11
Как же все надоело...


15-1226186059
Petr V. Abramov
2008-11-09 02:14
2009.01.11
ну теперь продажи пойдут


1-1205573908
TCrash
2008-03-15 12:38
2009.01.11
DBGrid.EditorMode