在DLL unit里函数是这样的:
function ShowTime():string;stdcall;
implementation
function ShowTime():string;
begin
Result :=DateToStr(Date());
end;调用的时候是这样写的:
function ShowTime():string;stdcall;external 'DllTest.dll';procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(ShowTime());
end;结果是:显示提示信息后出现这样的提示"Invalid pointer operation."
请大家帮忙看下
function ShowTime():string;stdcall;
implementation
function ShowTime():string;
begin
Result :=DateToStr(Date());
end;调用的时候是这样写的:
function ShowTime():string;stdcall;external 'DllTest.dll';procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(ShowTime());
end;结果是:显示提示信息后出现这样的提示"Invalid pointer operation."
请大家帮忙看下
解决方案 »
- 已知设备GUID(端口类的CLASS ID)找com口
- 如何得到c:\ewise.exe这个程序的版本号
- 请教,想实现一个多边形的函数,类似于POLYLINE函数,只不过我的多边形是每条边两条线,线的间距是5像素,请高手帮
- 怎样输出SQL Server的Image字段到报表上?
- access 与sql的问题
- 求佳能數碼相機SDK
- Delphi中打印的日期为1999-2-3怎么变为1999 2 3???
- 看看这一段代码,为何会有这种结果-----在线等待
- 一个memo的问题
- 请教如何在DELPHI5中连接EXCEL表格?
- 求助:vclSkin和DbLookUpTreeView同时使用问题!!!
- 数据库问题
请试着改String为String[100],
我不想花時間去试,请自己試驗一下。
2.不要在dll中返回字串,改用参数
procedure ShowTime(const p:pchar);stdcall;
begin
strcopy(p,pchar(DateToStr(Date())));
end;
调用:
procedure TForm1.Button1Click(Sender: TObject);
var
p:pchar;
begin
getmem(p,100);
ShowTime(p);
ShowMessage(p);
freemem(p);
end;
uses ShareMem;