OCX TreeView Klick Event Problem

27/07/2008 - 00:34 von Marcus Gut | Report spam
Hallo,

ich habe ein für mich nicht erklàrbares Problem, vielleicht weis einer von
Euch Rat.

Ich benutze aus dem COMCTL32.OCX das Tree view, von dem gibt es verschiedene
Funktionen und so weiter dem bin ich mir bewußt.
Meine Applikation làuft auf ca. 20 Rechnern Win 2000 WinXP Access 2000 -
2007 und es funktioniert. Nur auf meinem Eigenen Rechner,
auf meinem Entwicklungsrechner Funktioniert der Event :

Private Sub TreeView1_NodeClick(ByVal node_ As Object)
Me!varProjektnummer = Val(MID(node_.Key, 3, 9))
Me!varAufOut = Val(MID(node_.Key, 10, 9))
Me!varNod = node_.Key
End Sub

nicht und das absolut reproduzierbar. Alles Andere Funktioniert. Wenn ich
eine Funktionierende Version auf meinem Rechner öffne wird das Sub NodeClick
nicht aufgerufen da kann ich klicken was ich will. Auf allen anderen
Rechnern funktioniert es. Es kommt mir so vor wie wenn irgendwas den Event
umleitet.

Folgende habe ich Schon probiert:
- OCX deinstallieren
- neustes OCX installieren
- alle Eintràge in der Registry COMCTL32.OCX gelöscht
- neuste Office Update auf den Rechner geladen (obwohl das alle anderen
Rechner auch nicht haben)
- Das TreeView bei dem Rechner neu in das Form geladen dann hat es kurz
funktioniert nach Änderungen am Form hat es wieder nicht funktioniert.

Welch Experte weis Rat bin sehr dankbar für jeden Tipp.

Marcus Gut
 

Lesen sie die antworten

#1 Gottfried Lesigang
27/07/2008 - 01:09 | Warnen spam
Grüß dich Marcus!

ich habe ein für mich nicht erklàrbares Problem, vielleicht weis einer von
Euch Rat.



Das Treeview ist immer wieder für nicht erklàrbare Probleme gut ;-)

Private Sub TreeView1_NodeClick(ByVal node_ As Object)
Me!varProjektnummer = Val(MID(node_.Key, 3, 9))
Me!varAufOut = Val(MID(node_.Key, 10, 9))
Me!varNod = node_.Key
End Sub



Das "As Object" beim Node-Parameter verràt mir, dass du den besten aller
Tricks nicht verwendest.

Lege im Form-Modul in den Deklarationen eine Variable an:

Private WithEvents tvwHelper As MSComctlLib.TreeView

In Form_Load setzt du die Referenz mit

Set tvwHelper=TreeView1.Object 'Das "Object" ist ganz wichtig!

Und siehe da: Plötzlich ist alles typsicher, es gibt eine Nodes-Liste usw.
Die alte Variable "TreeView1" solltest du im ganzen Code nicht verwenden!

Wenn du nun dein Event auf

Public Sub tvwHelper_NodeClick((ByVal Node As MSComctlLib.Node)

ànderst (oder per Auswahl einfügen làsst), sollte es funzen.

wird das Sub NodeClick nicht aufgerufen da kann ich klicken was ich will.



Mit Haltepunkt getestet?

Gute Nacht!

Gottfried

Home: www.develes.net
Mail:

Ähnliche fragen