Autor Beitrag
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 19.07.10 20:30 
- Nachträglich durch die Entwickler-Ecke gelöscht -


Zuletzt bearbeitet von Frühlingsrolle am Mi 25.05.16 03:07, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 19.07.10 21:05 
user profile iconFrühlingsrolle hat folgendes geschrieben Zum zitierten Posting springen:
Sobald neue Dateien aufgenommen werden, lassen sich die älteren Einträge nicht mehr ausführen.
Das ist kein Wunder, schließlich funktioniert es beim aktuellen Item nur rein zufällig.

Der OpenDialog setzt das Arbeitsverzeichnis auf das dort ausgewählte. Da dort auch die ausgewählte Datei liegt, klappt es. Denn du ignorierst den Dateipfad ja einfach und gibst nur einen Dateinamen an ShellExecute. Dass es dort dann funktioniert, ist auch insofern Glück, als die Standardaktion zufällig (ok, steht in der Doku, aber das kann sich auch ändern) open ist. Warum gibst du das alles nicht an? :roll:

Jedenfalls hast du das typische Problem, dass du die Daten versuchst in einer visuellen Komponente zu speichern...
Speichere die Datei (sprich den kompletten Pfad z.B.) im Hintergrund und pack eine Referenz zu den Items in die ListView, dafür gab es glaube ich Item.Data oder sowas. Dann kannst du darüber wieder auf die dahinterliegenden Daten zugreifen.

Mit einer TStringList sollte es notfalls auch gehen, wie hast du das denn versucht?
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 19.07.10 21:53 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 20.07.10 05:27 
Es geht darum die Pfade im Programm zur Verfügung zu haben. Nicht diese auf der Festplatte abzuspeichern, schon gar nicht im Pfad der Exe. :shock:

Du kannst unter private ein Feld anlegen, zur Not auch eine TStringList, wenn es denn sein muss. Dort kannst du dann die Pfade speichern. Äh, speichern im Arbeitsspeicher meine ich natürlich...

In Data kannst du z.B. einen Pointer auf einen Record ablegen und in diesem weitere Daten zu dem Item speichern. Du solltest nur nicht vergessen den Speicher auch wieder freizugeben, daher bietet es sich an die Daten in einer Liste zusätzlich zu speichern und dann dort am Ende freizugeben.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 22.07.10 23:43 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 23.07.10 06:03 
Irgendwann kommst du vielleicht dahinter, dass du dir die Sache unnötig kompliziert machst, wenn du deine Daten in visuellen Komponenten speicherst. ;-)

Bei so kleinen Sachen noch nicht, aber wenn du größere Tools mit größeren Datenmengen hast. ;-)

Mal ne kleine Demo im Anhang, zwar auch noch nicht ideal, aber immerhin ein Fortschritt. :D
Einloggen, um Attachments anzusehen!
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 24.07.10 06:01 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 24.07.10 06:28 
Wenn ich mehr Zeit hätte, würde ich das auch öfter machen. :mrgreen: