Fehler bei Aktualisierung einer ListView

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
wp_xyz
Beiträge: 3440
Registriert: Fr 8. Apr 2011, 09:01

Re: Fehler bei Aktualisierung einer ListView

Beitrag von wp_xyz »

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.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4370
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Fehler bei Aktualisierung einer ListView

Beitrag von af0815 »

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).

shokwave
Beiträge: 436
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win10 (L 1.6 FPC 3.0.0)
CPU-Target: i386,x64
Wohnort: Rudolstadt

Re: Fehler bei Aktualisierung einer ListView

Beitrag von shokwave »

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!

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

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 723
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Winux (L 2.0.11 FPC 3.2)
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Fehler bei Aktualisierung einer ListView

Beitrag von fliegermichl »

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();
 

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4370
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Fehler bei Aktualisierung einer ListView

Beitrag von af0815 »

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.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Joachim Raap
Beiträge: 57
Registriert: Mo 30. Mär 2020, 12:37

Re: Fehler bei Aktualisierung einer ListView

Beitrag von Joachim Raap »

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.........

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4370
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Fehler bei Aktualisierung einer ListView

Beitrag von af0815 »

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).

Antworten