![]() |
Delphi-Version: 7
Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Kann da mal schnell jemand drüber schauen und mir sagen, warum
Delphi-Quellcode:
function commands (request:string):TStringList; stdcall;
var s1, s2, s3: String; Liste: TStringList; begin s1:='H'; s2:='G0'; s3:='G1'; Liste := TStringList.Create; Liste:= Liste.Add(s1); Liste.Add(s2); Liste.Add(s3); result:=Liste; end; exports commands; Das hier ausgibt?!:
Code:
Ich habe doch s1 - s3 als strings definiert und nicht als integer, wo ist denn das Problem?
[Error] Project2.dpr(24): Incompatible types: 'TStringList' and 'Integer'
|
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Du willst ein Objekt aus einer DLL zurückgeben? Das wird so nichts. Informiere dich mal über "DLL und Objekte".
|
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Zitat:
Delphi-Quellcode:
Liste := Liste.Add(s1); Ob das mit der Übergabe funktioniert, wie Luckie moniert, hat ersteinmal nichts mit dem jetzt erzeugten Fehler zu tun. |
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Das auch, aber der Fehler ist in hier:
Delphi-Quellcode:
Liste.Add gibt den Index des neu hinzugefügten Eintrages zurück ( ein Integer) welchen Du dann der Liste zuweisen willst.
Liste:=
Liste.Add(s1); |
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Zitat:
|
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Auch wenn ich nicht weiß, ob mein Vorschlag auch nur ansatzweise sinnvoll erscheinen könnte, vermutlich hätte ich es so gemacht:
Delphi-Quellcode:
Was soll denn hier passieren?
function commands (request:string):TStringList; stdcall;
begin Result := TStringList.Create; Result.Add('H'); Result.Add('G0'); Result.Add('G1'); end;
Delphi-Quellcode:
Add ist eine Methode von Liste, aber die weist man doch nicht bei dem Aufruf gleichzeitig wieder der Liste zu?
Liste:=
Liste.Add(s1); Auch dashier verstehe ich nicht:
Delphi-Quellcode:
mit einem
result:=Liste;
Delphi-Quellcode:
und dem dann zwingend folgende
result.AddStrings(Liste);
Delphi-Quellcode:
könnte ich ja noch leben.
Liste.Free
|
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Zitat:
|
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Zitat:
|
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Wann, und wie, wenn überhaupt, wird die Stringliste denn wieder freigegeben?
|
AW: Alles richtig, trotzdem "Incompatible Types TString List and Integer"?
Zitat:
Aber auch der Einwand von nahpets hat seine Berechtigung und sollte berücksichtigt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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