怎么样在DLL中的Form显示时接收一串字符?(10分)

  • 主题发起人 主题发起人 嫩手
  • 开始时间 开始时间

嫩手

Unregistered / Unconfirmed
GUEST, unregistred user!
就是做个DLL,其中显示DLL中的窗体时,让这个窗体的caption显示一个动态给定的字符串。
 
重载 create ,后面多加一个参数。
 
export时候多加一个参数
 
为DLL传入一个参数
建立窗体后指定窗体的capion属性为传入的参数值
 
同意楼上,
为DLL传入一个参数
建立窗体后指定窗体的capion属性为传入的参数值
然后再show或showmodal
 
参考这一贴的最后:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1252717
 
也许我太嫩,总是通不过,可不可以给我发过一个通过的例子?谢谢!x-delphi@163.com
 

以BCB的代码风格:
一般来说,在dll封装表单是在form的代码里用extern来做,这时一般是声明一个函数来调
用窗口如
C++: extern "C" __declspec(dllexport) void __fastcall showform(string
formcaption);
函数代码
void __fastcall _export showform(string formcaption)
{
tform1 *form = new tform1(formcaption);
form->showmodal();
delete form;
}
记得在重载form1的constructor中并设置,caption = formcaption
别怪我骂你哦,比起白痴来你聪明多了
 
非常抱歉,我对C一点也不懂
 
传入的参数不能是string类型,这样会出错,
把string类型的参数,转换为pchar类型就不会出错了
strpcopy();
 
用WideString不也挺好的!
不过做系统最好用[记录结构]!
 
在DLL项目里加入一个窗体TMyForm
在DLL里加入如下函数
procedure ShowMyCaption(Caption: PChar);
//如果你用String,请将Uses 的第一个unit
//设为ShareMem
在Dll的 Exports里加入
Exports
ShowMyCaption;
//以下是ShowMyCaption函数的实现
procedure ShowMyCaption(Caption: PChar);
var
myFrm: TMyForm;
begin
myFrm := TMyForm.Create;
myFrm.Caption := StrPas(Caption);
myFrm.ShowModal;
FreeAndNil(myFrm);
end;
//编译这个Dll项目
在你的程序里调用ShowMyCaption
 
我试一下
 
非常感谢 !
 
后退
顶部