全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:827
推到 Plurk!
推到 Facebook!

DLL問題:第一次調用沒問題,再次調用就有問題,請教前輩

尚未結案
chuyuan
一般會員


發表:12
回覆:9
積分:4
註冊:2004-05-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-19 16:44:42 IP:61.235.xxx.xxx 未訂閱
DLL如下: library gysdll; uses //sharemem, SysUtils,adodb, Classes; {$R *.res} procedure gys1(g:TADOQuery);stdcall; begin g.DisableControls; g.First; while not g.Eof do begin g.Edit; g['gysbh']:=copy(trim(g['gysbh']),1,4) '009'; g.Post; g.Next; end; g.EnableControls; end; exports gys1; begin end. 調用如下 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls; type Tfm = class(TForm) DataSource1: TDataSource; gys: TADOQuery; DBGrid1: TDBGrid; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var fm: Tfm; implementation {$R *.dfm} //procedure gys1(g:TADOQuery);stdcall; //external 'gysdll.dll'; procedure Tfm.Button1Click(Sender: TObject); type gys2=procedure(g:TADOQuery);stdcall; var th:thandle; tf:gys2; tp:tfarproc; begin th:=loadlibrary('gysdll.dll'); if th>0 then try tp:=getprocaddress(th,pchar('gys1')); if tp<>nil then begin tf:=gys2(tp); tf(fm.gys); end; finally freelibrary(th); end; //gys1(fm.gys); end; end.
系統時間:2024-06-29 5:21:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!