VCµ÷ÓÃDELPHI DLL
VCµ÷ÓÃDELPHI дµÄÒ»¸öDLL£¬È»ºó½«Á½¸ö²ÎÊý´«µÝ¸øËü£¬´«µÝµÄÊý¾ÝÀàÐÍÊÇ×Ö·û´®ÀàÐÍ
DELPHI ÖеÄSTRING»òÕßÓÃPCHARÓëVCÖеÄÄĸöÀàÐͶÔÓ¦£¿
VCÖе÷ÓÃÕ¦ÀÏÌáʾ´íÎó
error C2197: 'int (__stdcall *)(void)' : too many actual parameters
VCÕâÑùµ÷Óà µÄ
//µ÷ÓÃdll
HINSTANCE hDll;
hDll=LoadLibraryW(LPCWSTR("Smart.DLL"));
FARPROC lpFunc;
lpFunc=GetProcAddress(hDll,"ShowForm");
(*lpFunc)("hunter","xing"); //´ËÐÐÌáʾ´íÎó£¬Ó¦¸ÃÔõÑùµ÷ÓÃÄØ
СµÜÔÀ´Ò»Ö±ÓÃDELPHI£¬¶ÔVCÖ»ÁË½âÆ¤Ã«£¬Ð»Ð»»Ø¸´£¬·Ö²»¹»¿ÉÒÔ¼Ó£¬½â¾öÎÊÌâÒ»¶¨»á¼´Ê±½áÌû
ShowForm ÔÚdelphiÖÐÉùÃ÷ÊÇÈçºÎµÄ ?
C/C++ code:
typedef void( *type )( const char*, const char* );
lpFunc;
lpFunc = GetProcAddress( hDll, "ShowForm" );
( *lpFunc )( "hunter", "xing" );
ÊÔÊÔÕâ¸ö
»¹ÊÇÄǸöÌáʾ
Delphi(Pascal) code:
procedure ShowForm(DoctorName,UserName:PChar);
begin
sDoctorName:=DoctorName;
sUserName:=UserName;
end;
exports
ShowForm;
[Quote=ÒýÓÃ
Ïà¹ØÎÊ´ð£º
Ò»°ã¶¼ÊÇÔõô½Ó»îµÄ£¿
ÊÕÈëÔõôÑù
sohu£¿soho£¿
sohu ¿ÉÄÜÊÇsmall office house unit
С°ì¹«ÊÒ£¬°Ñ¼Ò±ä³Éµ¥Î»¡£
È¥Íþ¿ÍÍø°¡,ºÜ¶à¸öÄØ,»¹ÓÐÍâ°üµÄÍøÕ¾
ѧϰѧϰ¡£
ÏÖÔÚDelphi×ö¶«Î÷²»ÐÐÁË,´¦ÓÚÌÔÌ×´ ......
×î½ü»»Á˼ҹ«Ë¾£¬ÓôÃÆµÄÊǹØÓÚDelphiµÄÎÊÌ⣬¹«Ë¾Ö®Ç°ÓõÄÒ²ÊÇD°æDelphi7ÆóÒµ°æµÄ¡£ºóÀ´±»ËÍÁËÂÉʺ¯ÒԺ󣬾ÍÇ¿ÖÆ¸ÄÓÃDelphi7¸öÈ˰棬¾ç˵Õâ¸ö°æ±¾ÊÇÃâ·Ñ°æ£¬»òÕß˵ºÜ±ãÒË£¬Èç¹û²é³öÀ´£¬¾ÍÂò¸öºÃÁË¡£ÕâÏ¿ɺ᣿àÁËÎ ......
¼±Óá£ÁªÏµQQ£º8775262£¬Ð»Ð»¡£
ÐèÒª½øÐÐDllImportµÄµØ·½Ö±½ÓдDLLImport.·½·¨Ãû¡£
È磺DLLImport.GlobalAddAtom(¡¡);
Îļþ£ºUShare.pas
Delphi(Pascal) code:
unit UShare;
interface
uses Windows, Me ......