【300分】 关于用 Delphi 开发通用DLL的问题: ( 积分: 300 )

  • 主题发起人 主题发起人 唐佐平
  • 开始时间 开始时间

唐佐平

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把 delphi 的一些函数、功能做成DLL,
要求是这个DLL可以在Delphi、VB、VC、PB等程序中都可以调用,
请问在写程序方面要注意哪些方面?
请大家给出详细的资料,如果有例子就更好了,谢谢大家了。
 
頂,
關注
 
注意 参数传递类型
 
导出函数加stdcall声明

参数
整形 integer
长整形 longint
浮点形 single
字符串型 pchar


基本上就这些了,要注意的是,foxpro和vb似乎不能调用参数多于32个dll函数
(遇到这些开发商,只有用拼串分解的办法了,所以这个一开始就要考虑进去)
 
谢谢大家的回复,
欢迎大家继续跟帖
 
不是说得很明确了? 其实关键及时加上 stdcall. 如果担心参数过多的话打可以定义一个结构传进去就是了。
 
建议楼主将这些函数,功能做成WebSerives,这样可以完全做到跨语言使用,无论VC,VB,php还是Java都可以调用。
注意事项:
以stdcall方式声明函数,使用WideString代替String类型,需要加入ShareMem单元。
 
参数传递顺序,参数类型。
 
关见就是注意参数类型匹配,参数传递顺序。string 用char数组代替。
 
使用WideString代替String类型,不需要加入ShareMem单元!!!!!!!!!!!
String的话就要加
---------------------------------------------------------------------------------------http://www.waibaoinfo.com 外包信息网 - 专业的外包项目发布和承接平台
 
差不多都被上面的说了:一个是不要使用delphi专有数据类型,例如string,另外要使用stdcall调用方式
 
对于只集成函数应该都没有问题,但要注意DLL里声明的数据类型,在开发DLL时的所有数据类型都要参考C+的数据类型为准,否则其它的开发语言不一定就支持你的DLL调用了。
对于开发DLL时不建议用FORM在里,因为会有太多的错误出现,其它开发语言也不支持DELPHI的数据类型等等。
 
用DELPHI写标准的DLL就可以供其它开发工具调用!
 
都讲到了...
总结下吧,两点:
1.不要使用delphi专有的数据结构。
2.使用stdcall的参数传递方式。
over
 
可以结贴了!楼上的说的对
 
后退
顶部