為什麼在THREAD下無法呼叫APSERVER(MTS)的FUNCTION |
缺席
|
bhead811
一般會員 發表:13 回覆:18 積分:6 註冊:2003-05-29 發送簡訊給我 |
各位可不可以幫我看看我的程式碼有問題嗎? type
QueryTest = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end; var
Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject);
var Q:QueryTest;
begin
Q:=QueryTest.create(false);
end; { QueryTest } procedure QueryTest.Execute;
begin
//inherited;
Form1.SocketConnection1.AppServer.Method1('C:\TESTSQL.TXT');//在
THREAD 裏就無法跑會出現VARIANT IS NOT AN ARRAY
end; procedure TForm1.Button2Click(Sender: TObject);
begin
SocketConnection1.AppServer.Method1('C:\TESTSQL.TXT');//這樣可以RUN
end; end. 我的TESTSQL.TXT的內容是
INSERT INTO TEST(N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11)
VALUES('N1,varchar(50),', 'N2,varchar(50),', 'N3,varchar(50),', 'N4,varchar(50),', 'N5,varchar(50),', 'N6,varchar(50),', 'N7,varchar(50),', 'N8,varchar(50),', 'N9,varchar(50),', 'N10,varchar(50),', 'N11,varchar(50),')
INSERT INTO TEST(N1, N2, N3, N4, N5, N6, N7, N8, N9, N10, N11)
VALUES('N1,varchar(50),', 'N2,varchar(50),', 'N3,varchar(50),', 'N4,varchar(50),', 'N5,varchar(50),', 'N6,varchar(50),', 'N7,varchar(50),', 'N8,varchar(50),', 'N9,varchar(50),', 'N10,varchar(50),', 'N11,varchar(50),') AP SERVER 上的METHOD1程式碼是
ADOQuery1.SQL.CLEAR;
ADOQuery1.SQL.LoadFromFile(PATH);
ADOQUERY1.ExecSQL;
RESULT:='FINISH'; 各位可不可以幫我看看 我己經找到答案了,
問題出在
在Execute 下要先把form create 起來
也就是
procedure QueryTest.Execute;
VAR TESTFORM:TFORM1;
begin
//inherited;
TESTFORM:= TFORM1.CREATE(Application);
TESTFORM.SocketConnection1.OPEN;
TESTFORM.SocketConnection1.AppServer.Method1('C:\TESTSQL.TXT');
TESTFORM.FREE ;
end; 發表人 - bhead811 於 2003/06/04 16:29:15
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |