Dll中代入参数使用自定义类型(50分)

  • 主题发起人 主题发起人 月明风轻
  • 开始时间 开始时间

月明风轻

Unregistered / Unconfirmed
GUEST, unregistred user!
Dll中代入参数使用自定义类型,
那么自定义类型中的一项可以使用String类型吗?

还是也要用Pchar?
 
用array of char 吧
 
Array of Char?
不是很明白,
我定义的数据类型是这样的:
Type
TMessage = record
Command : TCommand;
SenderName : String[20];
ReceiverName : String[20];
Msg : String[128];
MsgCount : integer;
CheckWord : String[32];
end;

TCommand也是自宝义类型
 
在DLL内部可以使用String类型。
在DLL和EXE的接口中可以使用String[]方式。但是最好使用Pchar或者array of char类型。
 
String类型在dll中弊端是什么?
 
String类型在dll中弊端是什么?

这个在帮助里面有`~
 
TCommand和TMessage的声明.
在Dll中,和在主程序中,声明的一摸一样,
就可以在调用Dll的时候,传入TMessage了.
 
TCommand和TMessage里面的数型是String没关系吗?
 
对,没关系.只要在DLL和主程序的工程单元,引用ShareMem就行了.
你可以看一下,当你在创建一个DLL的时候,工程单元会有一大段话,就是在说这个问题.
如果你的Dll只是Delphi程序调用,肯定没有问题.但如果其他程序调用(例如VC写的),可能就有一定的问题了,要开辟共享内存之后,你的Dll才能被其他程序调用.
 
To guanweiw:
我就是不想这样呀~
 
那你最好不要用自定义结构体的方式,
因为我觉得,如果这样,
你很难要求别人在他们自己的程序里,定义一个和你定义的一摸一样的东西,
尤其是非Delphi的程序.
 
嗯`~~

受教了~~
 
后退
顶部