![]() |
Tstrings Fehler
Ich habe einen WEBservice geschrieben. In einer der Function TStrings zurück geben soll.
Wenn ich mit meinem Programm auf den Webservice zugreifen will erhalte ich folgenden Fehler: Zitat:
Delphi-Quellcode:
vielen Dank für die Hilfews:=GetITestService(true); form1.Memo2.Lines := ws.SQLAbfrage(Connection,SQLString); <---Hier steht der Fehler gruss Leif |
Re: Tstrings Fehler
Dazu wäre es interessant, was genau die Function ws.SQLAbfrage zurückgibt und wie sie aufgebaut ist ...
|
Re: Tstrings Fehler
Vor allem: Wie ist TStrings in ITestService1 definiert?
|
Re: Tstrings Fehler
Also die function selber:
Delphi-Quellcode:
Unit classes
Delphi-Quellcode:
Danke für die schnellen antwortenfunction TTestService.SQLabfrage(const Connection:String; SQLString:String): Tstrings; stdcall; var i,j: integer; s:string; begin Unit1.WebModule.ADOConnection.ConnectionString := Connection; Unit1.WebModule.ADOQuery.Close; Unit1.WebModule.ADOQuery.SQL.Clear; Unit1.WebModule.ADOQuery.SQL.Add(SQLString); Unit1.WebModule.ADOQuery.Open; Unit1.WebModule.ADOQuery.First; for i := 0 to Unit1.WebModule1.ADOQuery.RecordCount - 1 do begin s:=''; for j:= 0 to Unit1.WebModule.ADOQuery.IndexFieldCount -1 do s:=s+','+ Unit1.WebModule.ADOQuery.FieldValues[Unit1.WebModule.ADOQuery.IndexFields[j].Text].asString; result.Add(s); Unit1.WebModule.ADOQuery.Next; end; end; [edit=Sharky]Quote-Tags durch Delphi-Tags ersetzt. Mfg, Sharky[/edit] |
Re: Tstrings Fehler
function TTestService.SQLabfrage(const Connection:String; SQLString:String): Classes.TStrings; stdcall;
|
Re: Tstrings Fehler
Hi Leif,
in deiner function fehlt eine wichtige (die erste) Zeile, dafür ist da einiges zuviel:
Delphi-Quellcode:
Grüße vom marabu
uses
Unit1; function TTestService.SQLabfrage(const Connection: String; SQLString: String): TStrings; var i, j: integer; s: string; begin Result := TStringList.Create; with WebModule.ADOConnection do ConnectionString := Connection; with WebModule.ADOQuery do begin SQL.Text := SQLString; Open; for i := 0 to RecordCount - 1 do begin s := ''; for j := 0 to IndexFieldCount - 1 do begin if j > 0 then s := s + ','; s := s + FieldValues[IndexFields[j].Text].AsString; end; Result.Add(s); Next; end; {Close;} end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz