Autor Beitrag
Timelesk
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 82


Delphi 2006 Prof
BeitragVerfasst: Mi 24.01.07 23:05 
Hallo,

Erläuterung
ich lade in eine Combobox eine Liste mit Dateipfaden.
Wähle ich nun einen Eintrag aus, so wird der Inhalt der Datei eingelesen, Zeile für Zeile anhand von Separatoren gesplittet und in 3 Listboxen angezeigt.
Das Ganze läuft über die Ereignisprozedur TCombobox.OnChange().

Problem
Wenn ich nun den Focus auf die Combobox setze, die Liste jedoch nicht aufklappe (z.B. von einem vorherigen Element aus mit der Tabtaste auf die Combobox springe) und dann durchscrolle, dann lädt er mir teilweise den Inhalt einer Datei A teilweise und den Inhalt einer Datei B komplett (wobei Datei B die Datei ist, welche in der Combobox letztendlich ausgewählt ist).

Lösung
Derzeit habe ich es so gelöst, dass ich die Combobox in jedem OnChange-Aufruf disable und am Ende wieder enable!
Da mann dann aber von Datei A nicht schön zu Datei K springen kann, sondern 11x Dateien laden lassen muss, ist das keine schöne Lösung!


Könnt ihr mir helfen, wie ich dieses Problem umgehen/lösen kann?
Vielen Dank!

gruß
Timelesk
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 24.01.07 23:13 
Moin!

Hast du dir schonmal das Ereignis OnSelect der ComboBox angesehen? ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Mi 24.01.07 23:14 
Ich würde es im OnKeyPress- Ereignis machen.

Gruß

Saubäär
Timelesk Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 82


Delphi 2006 Prof
BeitragVerfasst: Mi 24.01.07 23:19 
Hi

@Narses: OnSelect? Ähhmm... Ok, ich schau mal eben!

@Saubäär: Dann würden ja nur noch Tastatureingaben zählen. Es soll ja aber auch mit der Maus gearbeitet werden können :)


Edit:
Jetzt liest er mir die Daten nicht mehr Dateistückleweise ein, sondern gibt mir einen Eintrag in einer Listbox biszu 5x hintereinander wieder. Also er liest die Zeile 5x ein bzw. gibt sie mir 5x aus, obwohl sie nur 1x existiert.
Lustig ist auch, dass am Anfang der Funktion ein listbox.Clear steht, weshalb der Eintrag keine 5x kommen dürfte!

Wahrscheinlich mal wieder "unsauberes coden"!
Ich werde die Funktionen mal komplett außeinandernehmen und wieder zusammensetzen!

Über weitere Ansätze/Lösungsmöglichkeiten freue ich mich natürlich auch weiterhin *g*


Vielen Dank

gruß
Timelesk


Zuletzt bearbeitet von Timelesk am Mi 24.01.07 23:25, insgesamt 1-mal bearbeitet
Saubäär
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 376



BeitragVerfasst: Mi 24.01.07 23:21 
user profile iconTimelesk hat folgendes geschrieben:
Es soll ja aber auch mit der Maus gearbeitet werden können :)


Dann mach halt noch nen Button daneben :wink:
Ansonsten keine Ahnung!

Gruß

Bäär