DLL中如何使用TTABLE控件调用数据库!(100分)(100分)

  • 主题发起人 主题发起人 田田
  • 开始时间 开始时间

田田

Unregistered / Unconfirmed
GUEST, unregistred user!
DLL中如何使用TTABLE控件调用数据库,程序如下:
MyTable :TTable;
begin
MyTable:=TTable.Create(Form1.Table1 );
//新建MyTable,继承FORM1中TTABLE控件
try
MyTable.DatabaseName :='DBDEMOS';
finally
MyTable.Free;
end;
end.
但是调用时内存报错!HELP!!!
 
试试这个
MyTable:=TTable.Create(nil);
 
问题的结症在
你的FORM1怎么建立的,FORM1的OWNER是谁?APPLICATION是谁?
给你一个例子
DLL源码:
var
ptr:PLongInt;
procedure importvalue(mainform:tform;app:pchar);
begin
appserver:=app;
if form1<>nil then
begin
form1:=nil;
end;
ptr:=@(Application.MainForm);
ptr^:=LongInt(mainForm);
form1:=Tform1.Create(mainform) ;
if mainform.FormStyle<>fsmdiform then
form1.formstyle:=fsnormal
else
form1.formstyle:=fsmdichild;
form1.show;
end;
 
把exe中的 database的handle传给dll,
dll中建一个database, database.handle等于传进来的handle
然后再用你那个方法
 
他的create好象不对呀!!
 
多人接受答案了。
 
后退
顶部