![]() |
Stringliste, Zugriff über Zeiger, Grundsatzfrage
Hallo Delphi Gemeinde!
Ich habe mal eine grundsätzliche Frage zum arbeiten mit Zeigern und Stringlisten. Ich arbeite mit Pascal Script und würde gerne über Funktionen eine Stringliste instanziieren, da es dort aber keinen Datentyp Stringlist gibt, muss ich wohl etwas tricksen. Nun dachte ich mir, ich bastel eine Funktion, mit welcher ich eine Stringliste zur Laufzeit erzeuge (im Hauptprogramm). Dann speichere ich in einer Integer Variable (geht das denn überhaupt) die Adresse der Liste im Speicher, d.h. die Funktion, die die Liste im Hintergrund erzeugt, gibt den zeiger als Integer zurück. Mit anderen Funktionen wie z.B. AddLineToList möchte ich dann, unter Angabe der gesiepcierten Adresse, auf die Liste zugreifen und eben - wie im genannten Beispiel - einen Eintrag hinzufügen. Kann mir mal jemand einen Denkanstoß geben? Damit wäre mir, denke ich, schon sehr viel geholfen. Danke Peter |
Re: Stringliste, Zugriff über Zeiger, Grundsatzfrage
Eine Objektinstanz ist bereits ein Zeiger. Aber wäre es nicht denkbar, den Text der Stringliste als PChar zu übergeben und in PascalScript da eine Zeile samt sLinebreak anzuhängen? Ich kenne mich mit PascalScript leider nicht aus, deshalb dieser Schuss ins Blaue.
|
Re: Stringliste, Zugriff über Zeiger, Grundsatzfrage
Hi Detlef!
Danke für deine Antwort. Wenn eine Objektinstanz schon ein Zeiger ist, dann kann ich diesen ja zurückgeben, oder intern verwalten und eine Nummer zurückgeben. Wie greife ich denn auf eine Stringliste zu, wenn ich die Adresse habe? |
Re: Stringliste, Zugriff über Zeiger, Grundsatzfrage
Ungetestet:
Delphi-Quellcode:
Aber da nach Deiner Aussage PascalScript keine TStringlist kennt, würde ich wie gesagt eher deren Text übergeben als die Instanz.
procedure AddLine(sl: Pointer);
begin with TStringlist(sl) do Add('Neue Zeile'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 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