| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 989 人关注过本帖
标题:DLL问题
取消只看楼主 加入收藏
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
结帖率:94.74%
收藏
已结贴  问题点数:100 回复次数:2 
DLL问题
看了一个用线程和消息循环的方法让DLL代码自动运行的例子,可编译不能通过。
能否帮我查一下怎回事,好希望调用dll不用传指针参数。
谢谢
library Project1;

 uses
  SysUtils,
  windows,
  Classes;
type
  TMyThread = class(TThread)
    private
      FTimer:TTimer;
      procedure TimerProc(Sender: TObject);
    protected
      procedure Execute;override;
    public
      constructor Create;override;
      procedure KillIt;//结束
  end;
 var
x,y,z:integer ;

{$R *.res}
 function Add():integer;stdcall;
    begin
        x:=random(100);
        y:=random(300);
        z:=x+y;
        result:= z;
        end;

 procedure TMyThread.TimerProc(Sender: TObject);
  begin
    Add();
  end;
  procedure TMyThread.KillIt;
  begin
    PostMessage(Handle,WM_QUIT,0,0);
  end;
procedure TMyThread.Execute;
begin
  FTimer:=TTimer.Create(nil);
  try
    try
      FTimer.Enabled:=true;//false
      FTimer.OnTimer:=TimerProc;
      while GetMessage(MsgRec, 0, 0, 0) do begin
        TranslateMessage(MsgRec);
        DispatchMessage(MsgRec)
      end;
      Terminate;
    finally
      FSocket.Free;
    end;
  finally
    FTimer.Free;
  end;
end;

exports
Add;

begin

end.
搜索更多相关主题的帖子: DLL 
2010-08-01 01:27
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
收藏
得分:0 
讲来也是,很难编译,能否给出一个具有定时器功能,导出函数不需指针的代码,
2010-08-01 15:25
yalewang
Rank: 2
等 级:论坛游民
帖 子:125
专家分:35
注 册:2010-4-15
收藏
得分:0 
鱼兄,我需要调用DLL的终端很简单,不能定义复杂的类型,是面向过程的,甚至不能用指针,所以好多细节只能在DLL中实现,调用程序向DLL传递的参数也只有数据类型和字符串,能否帮我将你的DLL改一下,输出函数无需传参?
2010-08-01 23:24
快速回复:DLL问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023296 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved