Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Stringliste, Zugriff über Zeiger, Grundsatzfrage (https://www.delphipraxis.net/139701-stringliste-zugriff-ueber-zeiger-grundsatzfrage.html)

DelphiPeter 3. Sep 2009 10:56


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

DeddyH 3. Sep 2009 11:18

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.

DelphiPeter 3. Sep 2009 11:25

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?

DeddyH 3. Sep 2009 12:09

Re: Stringliste, Zugriff über Zeiger, Grundsatzfrage
 
Ungetestet:
Delphi-Quellcode:
procedure AddLine(sl: Pointer);
begin
  with TStringlist(sl) do
    Add('Neue Zeile');
end;
Aber da nach Deiner Aussage PascalScript keine TStringlist kennt, würde ich wie gesagt eher deren Text übergeben als die Instanz.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz