![]() |
Record zu TStringlist hinzufügen
Ich möchte meinen Record zu einer StringListe hinzufügen.
Delphi-Quellcode:
Ich muss aber in der Lage sein aus dieser Liste zum Beispiel auf das h_Bitmap zuzugreifen.
TSprite = packed Record
CtrlName: WideString; CtrlIndex: Integer; Left: Single; Top: Single; Width: Integer; Height: Integer; Scale: Single; Opacity: Byte; ShellTo: string; IconPath: WideString; WorkDir: WideString; UseLabel: string; CmdLine: WideString; ShowCmd: longint; h_Bitmap: HBitmap; Visible: Bool; end; PSprite = ^TSprite; Oder würdet ihr etwas anderes verwenden ? Ich möchte von dem Array TSprite weg und alles über eine Liste regeln. gruss |
AW: Redord zu TStringlist hinzufügen
StringListen haben doch das Object-Property oder nicht? Da kann man doch Daten ablegen.
|
AW: Redord zu TStringlist hinzufügen
Records sind keine Objekte, daher kannst Du diese nicht in einer StringList speichern. Records werden immer im Ganzen kopiert, nicht nur deren Pointer.
...:cat:... |
AW: Redord zu TStringlist hinzufügen
Was sagt mir das jetzt das es nicht funktioniert?
Wie könnte ich denn so was über eine eigene Liste verwirklichen wenn es nicht geht. Hier ist ein ähnliches Beispiel. ![]() NUR! Wie komme ich dann an die einzelnen Objekte des Record in der Liste. gruss |
AW: Redord zu TStringlist hinzufügen
Zitat:
Delphi-Quellcode:
dann kannst du den Pointer in die StringListe hauen.
= class
Wenn du den Zugriff über den Index nicht brauchst, dann verwende ein TObjectDictionary. Habe vor Kurzem auch erst umgestellt. |
AW: Redord zu TStringlist hinzufügen
Zitat:
Und wenn ich den Record jetzt in eine Class auslagern soll.. dann ist mir das zu viel Arbeit;) es gibt unter C++ eine möglichkeit in der WinNT.h
Code:
gruss
#define CONTAINING_RECORD(address, type, field) ((type *)( \
(PCHAR)(address) - \ (ULONG_PTR)(&((type *)0)->field))) |
AW: Redord zu TStringlist hinzufügen
Was enthalten denn die Strings, die in die Stringliste sollen? Willst du darüber die Sprites finden?
Dann könntest du synchron zur Stringlist noch eine TList<TSprite> verwenden und immer am gleichen Index den String in der Stringliste und dein Sprite in der TList<TSprite> haben. |
AW: Redord zu TStringlist hinzufügen
Zitat:
Ich möchte den Record in die Liste packen und daraus die Variablen des Records auslesen können. So wie ich das verstanden habe geht es wohl nicht. gruss |
AW: Redord zu TStringlist hinzufügen
Zitat:
|
AW: Redord zu TStringlist hinzufügen
Zitat:
gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 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 by Thomas Breitkreuz