![]() |
Nach Ableitung v. TStringList Strings anzeigen nicht möglich
Hallo DP'ler !
Ich habe folgendes Problem. Ich möchte bei der Übergabe von Parametern an Prozeduren oder Funktionen - bei denen es sich im Prinzip immer um TStringList-Objekte handelt - über den Objekttypen sichtbar machen, dass es sich um ein TStringList-Object mit einem speziellen Inhalt handelt. So könntes es sum Beispiel zwei Proceduren mit folgendem Aufbau geben: Procedure GetSportlerListe(SportlerListe: TSportlerStringList); Procedure GetEinheitenDaten(EinheitenListe: TEinheitenStringList); Jetzt dachte ich mir, dass ich dazu einfach ein neues Objekt erzeuge und es von TStringList ableite. Da ist ja schon alles drin was ich brauche (Strings mit Sorttierung + Objekte ...). So sind zum Beispiel in der Einheitenliste unterschiedlichste Objekte abgelegt und ich kann mir über die Strings einen schnellen Überblick verschaffen. Das sieht dann folgendermaßen aus: TEinheitenStringList = class(TStringList) end; Ich kann mit diesem neuen Objekt alles machen was ich will und werde z.B. auch darauf hingewiesen, wenn ich falsche Typen auf die Prozeduren los lasse. Ok, jetzt endlich zu meiner Frage. Wenn ich eine solche abgeleitete StringListe in die Überwachten Ausdrücke im Debugger eintrage, dann fehlt in dieser Zeile das Icon mit der Lupe und dem kleinen Pfeil nach unten für die Anzeige der Strings. Kann mir jemand sagen warum das so ist ? Habe ich etwas falsch gemacht oder vergessen ? Mir ist klar, dass das nicht kriegsentscheidend ist, aber es wäre schön die Urscahe zu kennen. Ich habe auch schon rausbekommen, dass wenn ich im Debugger den Eintrag zu TStringList(EinheitenListe) ändere das Icon wieder da ist und die Liste angezeigt wird. Danke für Eure Bemühungen ! Nikolausi PS: Denkt dran - Am 6. Dezember ist Nikolausi ! Also Stiefel putzen und rausstellen ! 8-) |
Re: Nach Ableitung v. TStringList Strings anzeigen nicht mög
Herlich willkommen in der Delphi-PRAXiS, Nikolausi!
Die Antwort ist einfach, wenn auch vielleicht enttäuschend für dich: abgeleitete Typen werden in Delphi 2010 für Visualizer (noch) nicht unterstützt. Der Blick in den Quelltext (StringListVisualizer.pas bzw. ToolsAPI.pas) zeigt, dass alle zu unterstützenden Typen registriert werden müssen. In der Datei ToolAPI.pas findet man folgendes:
Code:
Es sieht so aus, als sei damit auch der Weg über einen eigenen Visualizer verbaut, da die IDE die notwendige Grundfunktionalität noch nicht bereitstellt. Es kann keine Lösung sein, alle speziellen Stringlisten einzeln zu registrieren.
{ Return the Index'd Type. TypeName is the type. AllDescendants indicates
whether or not types descending from this type should use this visualizer as well. NOTE: The AllDescendants parameter is currently ignored, though may be used in the future. For now, all visualizers should explicitly list all types they would like to handle. } procedure GetSupportedType(Index: Integer; var TypeName: string; var AllDescendants: Boolean); Gruß Hawkeye PS: Könntest du die von dir verwendete Delphi-Version in dein Profil eintragen? Nicht für jeden ist sie aus dem Beitrag ersichtlich. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 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