[问题] 如何用xe2呼叫dll内的方法

楼主: pony0305 (XDDD)   2014-11-06 17:51:57
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB xe2版本
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
目前手上有一个dll档、h档和lib档(但没有open source code)
目的是为了了解dll内某个function的用途,已透过软件知道dll内所有的function nam
e。
为了符合BCB格式的lib档,已经将DLL档透过implib.exe输出成LIB档,并加入到BC
B的专案中。
第一次学习怎么呼叫dll,上网查询,是说include后就打
extern “C” __declspec(dllimport) bool __stdcall ****(char app)
PS:****=dll内的function name;()内是格式
执行的时候,显示该行 Declaration syntax error,
请问各位大大,我该如何宣告,又该如何使用dll内的特定dunction呢?
已经爬文和google找好几天了,但都没有找到可以解决的方法或是code,
希望可以给我相似的code让我try try看,非常急成功者将给予5000P答谢。
谢谢
喂入的资料(Input):
预期的正确结果(Expected Output):
希望可以呼叫dll内的特定function,以了解这个方法大概是在干嘛的(什么作用即可)
错误结果(Wrong Output):
语法错误
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):
作者: GoIt (冻物。)   2014-11-06 23:08:00
Google: TK呱呱
作者: serikafan   2014-11-07 11:06:00
只看贴出来的code的话,你的extern "C"的"是全型没加分号? 我用bcb6试了一下,分号加上去就能过了呃,include header就不用自己宣告函式了,只是header档可能不合用,所以会自己宣告你的header档里已经有宣告,应该可以直接用当一般函式直接叫用dll没放在执行目录下吧不是放在专案资料夹内,是要放在执行时的工作目录下默认的状况直接跟执行档放同个目录就行了
作者: Baternest (忍蛋)   2014-11-07 14:10:00
先不要管lib了 直接LoadLibrary (dll)试试...
作者: serikafan   2014-11-07 19:24:00
除了连络原厂外,大概只能去trace机械码了

Links booklink

Contact Us: admin [ a t ] ucptt.com