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

Вниз

Как передать String в DLL?   Найти похожие ветки 

 
Glonia Zbanov ©   (2002-05-17 11:18) [0]

Как передать String и DataSet в DLL?


 
Andykor   (2002-05-17 14:13) [1]

Делаешь примерно следующее:
1. Dll.
В нее добавлена форма Form1, на нее добавлен DataSource1.

library dllDB;

uses
SysUtils,
Classes,
StdCtrls,
Forms,
Windows,
DB,
dbtables,
ddlDB1 in "ddlDB1.pas" {Form1};

procedure OpenDataSet(Str:PChar; DBDataSet:TDBDataSet; AppHandle:THandle);
begin
try
Application.Handle:=AppHandle;
Form1:=TForm1.Create(Application);
Form1.Label1.Caption:=String(Str);
Form1.DataSource1.DataSet:=DBDataSet;
Form1.DataSource1.DataSet.Open;
Form1.ShowModal;
finally
Form1.Free;
end;
end;

exports
OpenDataSet;

begin
end.

2. Программа.

На форму добалена Table1.

procedure OpenDataSet(Str:PChar; DBDataSet:TDBDataSet; AppHandle:THandle); external "dlldb.dll"

procedure TForm2.Button1Click(Sender: TObject);
begin
OpenDataSet("Пример",Table1,Application.Handle);
end;



 
PC Maniac   (2002-05-21 20:29) [2]

По поводу String. В каждой библиотеке, создаваемой дельфи есть сообщение по поводу delphimm.dll (так кажется) но проще передавать короткие строки в dll. Например string[20] или что-то вроде этого. Но IMHO гораздо проще для этого использовать PChar.


 
Внук ©   (2002-05-22 15:49) [3]

>>PC Maniac (21.05.02 20:29)
Наверно, имелось в виду ShareMem.dcu? :)



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
1-6952
ask
2002-05-21 10:24
2002.06.03
Close form //извините, поиск не работает


3-6950
Григорий
2002-05-11 17:22
2002.06.03
Почему BDE на клиенте Win98 не работает с серв.Win2000,Linux?


3-6918
DPashin
2002-05-07 09:18
2002.06.03
Как получить в Delphi выходной параметр из процедуры в пакете?


8-7124
Blackweber
2002-01-06 01:53
2002.06.03
Как бороться с инвертированными координатами.


14-7164
Oleg_Gashev
2002-04-23 20:37
2002.06.03
Сижу примус починяю никого не трогаю