在Dll中代码如下:
procedure s_Msg(pc_Info: PChar);
begin
Application.MessageBox(pc_Info,'提示',mb_OK);
end;
exports
s_Msg;
在主程序中调用如下:
procedure s_Msg(pc_Info: PChar); stdcall;external 'Test.dll'procedure TForm1.BitBtn2Click(Sender: TObject);
begin
s_Msg(PChar('张三和李四'));
end;
但在弹出对话框中显示出来的是乱码。谢谢!
procedure s_Msg(pc_Info: PChar);
begin
Application.MessageBox(pc_Info,'提示',mb_OK);
end;
exports
s_Msg;
在主程序中调用如下:
procedure s_Msg(pc_Info: PChar); stdcall;external 'Test.dll'procedure TForm1.BitBtn2Click(Sender: TObject);
begin
s_Msg(PChar('张三和李四'));
end;
但在弹出对话框中显示出来的是乱码。谢谢!
解决方案 »
- 关于不规则图形(其中颜色也各不相同)如何计算的问题
- 少林寺公开武功秘籍!!!!
- 伴水?会来吗?嘻嘻
- paradox表格输入问题(急!急!急!!!!!!!!!!!)在线等待,求大家作答,解决立即给分100,决不食言
- strtoint能否将16进制表示的字符串转化为longint?
- 在学习了2个月的delphi后,总结四大问题!
- AutoFlowchart V2.01版发布! 根据源程序自动生成流程图,可导出到VISIO,WORD等
- delphi中chart图表中我想动态的添加Line线怎么做呢?
- 当属性为一个变量时,能否通过这个变量访问该属性呢?
- 何得到一个网站的目录结构?
- 挑战性问题:如何在分布式系统中进行SQL数据库的导入导出??请大家发言!!
- SQLServe中的SubString()功能,在Access中要用什么来表达。
Application.MessageBox(string(pc_Info),'提示',mb_OK);
begin
s_Msg(PChar('张三和李四'));
end;>>>这样才行:var
p : pchar;
begin
p := stralloc(11);
fillchar(p^,11,0);
p := '张三和李四';
s_msg( p );
end;
procedure s_Msg(pc_Info: PChar); stdcall;
begin
Application.MessageBox(pc_Info,'提示',mb_OK);
end;
exports
s_Msg;
在主程序中调用如下:
procedure s_Msg(pc_Info: PChar); stdcall;external 'Test.dll'procedure TForm1.BitBtn2Click(Sender: TObject);
begin
s_Msg(PChar('张三和李四'));
end;
procedure s_Msg(pc_Info: PChar);stdcall;//此处加stdcall
begin
Application.MessageBox(pc_Info,'提示',mb_OK);
end;
exports
s_Msg;
如果是DLL 内部用的话是可以用STRING 的.你试一下吧.
内部处理就可以是String的http://lysoft.7u7.net