bcb中如何调用用delphi写的dll ( 积分: 50 )

  • 主题发起人 主题发起人 gudubinghe
  • 开始时间 开始时间
G

gudubinghe

Unregistered / Unconfirmed
GUEST, unregistred user!
这里的人气不是很旺.
哪个老兄可以告诉我,在bcb中如何调用用delphi写的dll.
还有就是,如何编写自定义消息.
 
这里的人气不是很旺.
哪个老兄可以告诉我,在bcb中如何调用用delphi写的dll.
还有就是,如何编写自定义消息.
 
和调用普通DLL没什么区别,自定义消息,DLL里面是WM_USER多少,在CB里面你也写多少就可以了
问题不够详细,请详细些说
 
写成COM方式。
 
delphi中
function GetVolume(byte DN): Integer;
stdcall;
procedure SetVolume(byte DN,int Value);stdcall;
function bool GetVolumeMute(byte DN): boolean;stdcall;
procedure SetVolumeMute(byte DN,bool Value);stdcall;
//===============================
// c++builder中先将Dll编译成obj,再在bcb中输入obj,之后就如下
public: // User declarations
aTest *aT1;
AnsiString Directory;
__fastcall TRichView(TComponent* Owner);
void __fastcall ReadRegInfo(void);
void __fastcall WriteRegInfo(void);
};
//---------------------------------------------------------------------------
extern PACKAGE TRichView *RichView;
extern "C"
__declspec(dllimport) __stdcall int GetVolume(byte DN);
extern "C"
__declspec(dllimport) __stdcall void SetVolume(byte DN,int Value);
extern "C"
__declspec(dllimport) __stdcall bool GetVolumeMute(byte DN);
extern "C"
__declspec(dllimport) __stdcall void SetVolumeMute(byte DN,bool Value);
//---------------------------------------------------------------------------
#endif
 
好久都没有用Bcb都搞忘记了,呵呵
 
delphi 中的函数是这个:
function start(mainhandle:integer;pinhandle:integer;canspy:boolean):boolean;stdcall;
在bcb中我是这样做的:在h文件中为extern "C"
__declspec(dllimport) __stdcall bool Start(mainhandle, pinhandle,bool canspy);
在cpp文件中调用这个函数就出现错误。
 
后退
顶部