用delphi调用vc写的dll出错?
下面是VC:
typedef struct plog
{
int log_id;//记录编号
char userName[20];//使用者
char ip[20];//使用IP
char content[50];//日志内容
}plog;
//添加使用记录
extern "C" __declspec(dllexport) void createLog(plog log);
delphi:
TDBPlog = record
log_id:Integer;//记录编号
userName:array[0..19] of Char;//使用者
ip:array[0..19] of Char;//使用IP
content:array[0..49] of Char;//日志内容
end;
PDBPlog = ^TDBPlog;
TDBCreateLog = procedure(log:TDBPlog);stdcall;
procedure TForm1.btn1Click(Sender: TObject);
var
FDllHandle:HMODULE;
FCreateLog:TDBCreateLog;
plog:TDBPlog;
begin
FDllHandle := LoadLibrary('proxyData.dll');
if FDllHandle = 0 then raise Exception.Create('数据库 DLL 加载失败');
FCreateLog := GetProcAddress(FDllHandle,'createLog');
plog.userName := '11';
plog.ip := '192.168.1.199';
plog.content := 'test';
FCreateLog(plog); //数据有插入数据库
end;//单击事件结束后提示出错
vc的dll中函数是这样的:
extern "C" __declspec(dllexport) void createLog(plog log)
{
CString log_ip;
CString user_name;
CStrin
相关问答:
delphi 异步线程怎么怎么实现?
请各位大佬帮忙!
最好有个实例!
多谢
你不同步就是异步了,还写啥
默认情况下,线程就是异步的…………*^_^*
估计楼主同步和异步概念都没弄清
真无语。。可 ......
如何用数组跟for打印出下面的图形
*
**
***
****
如果有更好的方法最好也写上 XX
procedure TForm1.Button2Click(Sender: TObject);
var
arr: array of Integer;
i,j: I ......
由于客戶端有的文件經常更新(遠程的,不是局域網),
所以想寫個自動更新的 程序。
看網上的 方法資料,知道些方法,但不知道具體怎么寫。
......
嘿嘿,又来麻烦各位大牛了!我想了解我在代码的事件属性里面看不到有什么事件,还有在时间控件里面的Enabled的属性是False,这下蒙了,不知道程序运行之后执行的是那条命令,希望各位大牛赐教啦!
谢谢!
我这下 ......
Delphi(Pascal) code:
procedure Tpaigon.N2Click(Sender: TObject);
var
j,col:integer;
filename:string;
MSExcel,xlsheet,xlBook:Variant; //ole ComObj
begin
IF DBGrid1.Fields[0].AsString=' ......