Fehler bei Aktualisierung einer ListView
Re: Fehler bei Aktualisierung einer ListView
Warum bist du so pampig? Ich kenne dich nicht, ich kenne deine Vorkenntnisse nicht. Wenn jemand nicht versteht, dass bei einer if-Prüfung eines Objects auf <> nil das Objekt im else-Zweig nil sein muss, dann ist der Schluss naheliegend, dass der Benutzer etwas Elementares nicht verstanden hat. Daher der Hinweis, da nachzuarbeiten.
Bloß, dass jemand in einem YouTube-Video etwas zeigt, heißt nicht, dass alles richtig ist. Hätte er auf "Datensatz bearbeiten" geklickt, wenn KEIN Eintrag in der Listview selektiert ist (denn dann ist Listview.Selected = nil, und der else-Zweig der Abfrage trifft zu), hätte er den Crash gesehen.
Bloß, dass jemand in einem YouTube-Video etwas zeigt, heißt nicht, dass alles richtig ist. Hätte er auf "Datensatz bearbeiten" geklickt, wenn KEIN Eintrag in der Listview selektiert ist (denn dann ist Listview.Selected = nil, und der else-Zweig der Abfrage trifft zu), hätte er den Crash gesehen.
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Fehler bei Aktualisierung einer ListView
Dann lass den else Zweig weg. Dann funktioniert es. Wenn der sowieso keinen Sinn macht, dann wird er auch nicht gebraucht.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 470
- Registriert: Do 15. Nov 2007, 16:58
- OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
- CPU-Target: i386, x64
- Wohnort: Gera
Re: Fehler bei Aktualisierung einer ListView
Ich glaube ich hab jetzt verstanden was los ist.
Um die Situation zu vermeiden, dass Selected=nil ist, solltest du den Eintrag, den du in die Editfelder überträgst, selbst schon selektieren. Dann sieht der Benutzer auch, welche Daten da in den Editfeldern stehen.
Damit sollte das gehen, aber ich habe es nicht getestest!
Und af hat Recht. Es ist dann besser den else-Zweig weg zu lassen.
Um die Situation zu vermeiden, dass Selected=nil ist, solltest du den Eintrag, den du in die Editfelder überträgst, selbst schon selektieren. Dann sieht der Benutzer auch, welche Daten da in den Editfeldern stehen.
Damit sollte das gehen, aber ich habe es nicht getestest!
Code: Alles auswählen
F1ArtGrp.LVArtGrp.Items[F1ArtGrp.LVArtGrp.Items.count-1].selected := true;
Und af hat Recht. Es ist dann besser den else-Zweig weg zu lassen.
mfg Ingo
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1432
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Fehler bei Aktualisierung einer ListView
Code: Alles auswählen
if (not (Pistole.geladen)) then
ich_halte_sie_an_meinen_kopf_und_druecke_ab()
else
ich_halte_sie_an_meinen_kopf_und_druecke_ab();
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Fehler bei Aktualisierung einer ListView
Man muss sich ein wenig in die gut gemachten Tutorials einsehen, es wird später nie wieder auf den else Zweig verwiesen, deshalb der Vorschlag mit den löschen. Ich habe mir das bis zum Tutorial 32 angesehen, ber nie wieder gesehen, das der verwendet wurde. Nur als toter Zweig.
Das Tutorial ist nicht von schlechten Eltern, sowas muss man erst zusammenbringen. Hut ab, vor dem Typen. Aber wenn man auf die HP geht, weis man auch warum. Der verkauft Wissen.
Das Tutorial ist nicht von schlechten Eltern, sowas muss man erst zusammenbringen. Hut ab, vor dem Typen. Aber wenn man auf die HP geht, weis man auch warum. Der verkauft Wissen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 143
- Registriert: Mo 30. Mär 2020, 12:37
Re: Fehler bei Aktualisierung einer ListView
wp_xyz hat geschrieben:Warum bist du so pampig? Ich kenne dich nicht, ich kenne deine Vorkenntnisse nicht. Wenn jemand nicht versteht, dass bei einer if-Prüfung eines Objects auf <> nil das Objekt im else-Zweig nil sein muss, dann ist der Schluss naheliegend, dass der Benutzer etwas Elementares nicht verstanden hat. Daher der Hinweis, da nachzuarbeiten.
Bloß, dass jemand in einem YouTube-Video etwas zeigt, heißt nicht, dass alles richtig ist. Hätte er auf "Datensatz bearbeiten" geklickt, wenn KEIN Eintrag in der Listview selektiert ist (denn dann ist Listview.Selected = nil, und der else-Zweig der Abfrage trifft zu), hätte er den Crash gesehen.
....es ist nicht pampig oder so gemeint - eher resignierend!
Meine Vorkenntnisse habe ich - nochmals - deutlich mit Anfänger in Sache Lazarus und Datenbanken beschrieben...........
Laß es uns beenden.........
- af0815
- Lazarusforum e. V.
- Beiträge: 6198
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Fehler bei Aktualisierung einer ListView
Joachim Raap hat geschrieben:....es ist nicht pampig oder so gemeint - eher resignierend!
Meine Vorkenntnisse habe ich - nochmals - deutlich mit Anfänger in Sache Lazarus und Datenbanken beschrieben...........
Laß es uns beenden.........
Warum resignieren, es ist ein Aspekt aus einem großen Projekt, der dir jetzt über den Kopf gewachsen ist. Wenn der Code nur aus dem Videotutorial ist, so poste ihn hier und es wird sich wer finden der mal nachsieht wie das dort gemeint ist. Wie gesagt ichhabe mir das meiste in den folgenden Tutorials dort angesehen, habe noch ein paarmal den Code gesehen, er wurde aber immer elegant umgangen. Wenn man aber das ganze Projekt bis zu deinem Punkt hat, kann man leichter verstehen, was dort vermutlich noch fehlt oder wie es gedacht wurde. Auch ein Backup der DB wäre nicht schlecht.
Was ich vermute als aktuelle Lösung habe ich weiter oben schon mal geschrieben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).