Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tstrings Fehler (https://www.delphipraxis.net/50216-tstrings-fehler.html)

ledoerr 22. Jul 2005 00:27


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:

Inkompatible Typen: 'Classes.TStrings' und 'ITestService1.TStrings'
der Fehler entsteht in dem folgenden Zeile:

Delphi-Quellcode:
 
 
  ws:=GetITestService(true);
  form1.Memo2.Lines := ws.SQLAbfrage(Connection,SQLString); <---Hier steht der Fehler
vielen Dank für die Hilfe

gruss

Leif

jensw_2000 22. Jul 2005 00:33

Re: Tstrings Fehler
 
Dazu wäre es interessant, was genau die Function ws.SQLAbfrage zurückgibt und wie sie aufgebaut ist ...

Bernhard Geyer 22. Jul 2005 07:17

Re: Tstrings Fehler
 
Vor allem: Wie ist TStrings in ITestService1 definiert?

ledoerr 22. Jul 2005 07:54

Re: Tstrings Fehler
 
Also die function selber:
Delphi-Quellcode:
Unit classes
Delphi-Quellcode:

function 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;
Danke für die schnellen antworten

[edit=Sharky]Quote-Tags durch Delphi-Tags ersetzt. Mfg, Sharky[/edit]

barf00s 22. Jul 2005 07:57

Re: Tstrings Fehler
 
function TTestService.SQLabfrage(const Connection:String; SQLString:String): Classes.TStrings; stdcall;

marabu 22. Jul 2005 08:09

Re: Tstrings Fehler
 
Hi Leif,

in deiner function fehlt eine wichtige (die erste) Zeile, dafür ist da einiges zuviel:

Delphi-Quellcode:
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;
Grüße vom marabu


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