|
FAQs zu picoware Treeview für Microsoft Access
Allgemein
Ich kann keine Treeview-Objekte kopieren
|
Bitte prüfen Sie, ob Sie die MDB oder die MDE/AccDE geöffnet haben. Nur aus der offenen Datenbank können Objekte kopiert werden.
|
Ich sehe keine Treeview-Objekte
|
Ggf. sind die Access-Optionen nicht entsprechend eingestellt:
Prüfen Sie bitte, ob in den Access-Optionen "versteckte Objekte anzeigen" und "Systemobjekte anzeigen" aktiviert ist.
Wir haben unsere Objekte nämlich so benannt, dass sie in den Standard-Einstellungen ausgeblendet sind.
Damit möchten wir verhindern, Ihre Anwendung unübersichtlich zu machen.
|
Welches ist das Start-Formular?
|
Start_Manual
Start_Mgmt ist übrigens eine Stand-Alone-Version unseres Datenbank-Explorers.
|
Ich bekomme haufenweise Fehlermeldungen
|
Bitte prüfen Sie in den Optionen der VBA-Umgebung die Variable, die die Fehlerbehandlung steuert:
Wechseln Sie mit (Alt F11) in den VBA-Editor. In den Optionen (Reiter "Allgemein") sollte "Unterbrechen bei Fehlern" auf "Bei nicht verarbeiteten Fehlern" gesetzt werden.
|
Einstellungen zum Design
Einrückungsfaktor für andere Schriftarten
Gibt es für den Einrückungsfaktor eine Tabelle bzw. wie kann ich
diesen Wert für meine Schriftart ermitteln?
|
|
Der Einrückungsfaktor gibt an, um wieviele Leerzeichen pro Ebene der Text eines Eintrags eingerückt werden soll.
Dieser unterscheidet sich je nach Schriftart und Schriftparametern. Am einfachsten nutzen Sie unseren
"Design-optimizer" im Abschnitt "Tools". Hier können Sie alle relevanten Parameter einstellen und
erhalten gleich den korrekten Source-Code, den Sie direkt in Ihre Formular kopieren können.
|
Gruppierungsknoten
Individuelle Icons für explizite Gruppen
Kann man eigentlich bei einer manuellen Gruppierung dem "GroupCaption" ein jeweils eigenes ICON zuweisen?
|
Es ist möglich, den Gruppen ein eigenes Icon mitzugeben, indem man dessen
Namen im Feld "GroupIcon" übergibt. Dieses Icon gilt dann allerdings für alle Knoten der Gruppe.
|
Gruppierungsknoten
Ausgeblendete Navigations-Icons bleiben verschwunden
Wenn ich in einer Gruppierung einen echten Knoten öffne, der keine Unterknoten hat,
wird das Navigations-Icon ausgeblendet zum Zeichen dafür, dass versucht wurde, es weiter aufzuklappen.
Das Problem: Selbst wenn ich den gesamten Knoten zuklappe und dann wieder aufklappe,
bleibt ein verschwundenes Icon verschwunden.
|
|
Gruppierungsknoten unterschieden sich von normalen Knoten.
Zum einen verstecken sie tatsächlich Knoten, was sonst ja per
Definition nicht gemacht wird, zum anderen haben sie keine
Interaktion mit dem Host-Form (es sei denn, man defineirt die
Gruppenknoten als auswählbar). Beim Gruppieren werden die Knoten
also wirklich nur ausgeblendet, blieben in der Tabelle aber enthalten.
Für den (die) echten Knoten, die Du aufklappst, wird dann wieder
das Host-Form nach Unterknoten gefragt. Da keine vorhanden sind,
merkt sich der TV den ChildCount=0 und löscht das Öffnen-Icon, weil
dort ja keine Knoten angezeigt werden können.
Wenn man dann den Gruppierungsknoten wieder schließt, werden die echten
Knoten "nur" versteckt, behalten aber ihren ChildCount=0 und das
gelöschte Icon. Dieser Zustand wird beim erneuten Öffnen wieder angezeigt.
|
Umbenennungen aus Altversionen
Hinweise zum Update des TV in bestehenden Applikationen
|
In der neuen TV-Version haben wir einige Umbenennungen vorgenommen - einerseits, um für unsere Variablen und
Funktionen einen klaren Namensraum zu definieren und damit Konflikte in Ihren Anwendungen zu verhindern,
andererseits um auch außerhalb des deutschen Sprachraums verständliche Begriffe zu verwenden.
Damit werden ggf. folgende Umbenennungen in Ihrer Anwendung notwendig (wir bitten schon mal im Vorhinein um Entschuldigung):
|
Version vom 02.12.2016
- pTV_ErrorHandler --> pw_ErrorHandler
- pCT_NewKontext --> pCT_NewContext
- RefKontext --> RefContext
- StateKontext --> StateContext
- MarginText --> PaddingLeft
Version vom 02.12.2016
- pTV_Kontext --> USys_pCT_Context
- NewKontext --> pCT_NewContext
- MinFormWidth --> pw_MinFormWidth
- MinFormHeight --> pw_MinFormHeight
- MaxFormWidth --> pw_MaxFormWidth
- MaxFormHeight --> pw_MaxFormHeight
- MyDatabase --> pw_Database
- TCount --> pw_TCount
- RefKontext --> RefContext
- StateKontext --> StateContext
Übergreifend
...je nachdem, welcher Name verwendet wird:
- ErrorHandler --> pw_ErrorHandler
- pTV_ErrorHandler --> pw_ErrorHandler
Abschließend
...abschließend ggf. doppelt ersetzte Präfixe löschen:
|
VbWatchdog
VbWatchdog löst Performanceeinbruch im Treeview aus
Bei der Verwendung von VbWatchdog beobachten einzelne Nutzer gravierende Performanceeinbrüche.
Wie kann man das beheben?
|
Der Treeview verwendet eine eigene Fehlerbehandlung weil Fehler natürlich behandelt werden müssen, aber nicht jeder Entwickler auch VbWatchdog einsetzt.
Da der Treeview auch bewußt Fehler auslöst, um auf bestimmte Systemzustände zu reagieren, kommt es bei der gleichzeitigen Verwendung von VbWatchdog zu einer
Protokollierung, die - besonders, wenn diese über das Netzwerk erfolgt - zu erheblichen Verzögerungen führt.
|
Die Empfehlung lautet daher, die Module des Treeview von der Protokollierung durch VbWatchdog auszunehmen.
Von unseren Nutzern haben wir hierfür zwei Lösungsvorschläge erhalten (herzlichen Dank an dieser Stelle):
|
Variante 1 unterbindt die Behandlung von Fehlern, die durch eigene Errorhandler behandelt werden:
Dazu setzt man vor dem Start des VbWatchdog mit
ErrEx.Enable
den Parameter IgnoreHandledErrors auf TRUE.
ErrEx.IgnoreHandledErrors = True
|
Variante 2 nimmt die Module des Treeview explizit in der Fehlerbehandlungsroutine des Watchdog aus:
Public Sub GlobalErrorTrap()
'LogErrorToFile
Select Case ErrEx.Callstack.ModuleName
Case "pTV__Customize", _
"USys_pCT_Context", _
"USys_pCT_Context_Item", _
"USys_pCT_Context_Serializer", _
"USys_pDD_DragAndDrop", _
"USys_pDD_DragAndDrop__Interface", _
"USys_pDD_DragAndDrop_Win_API", _
"USys_pTV_Basis", _
"USys_pTV_GroupNode", _
"USys_pTV_GroupProvider__Interface", _
"USys_pTV_GroupText", _
"USys_pTV_GroupText_Node", _
"USys_pTV_GroupToken", _
"USys_pTV_IconID", _
"USys_pTV_ToolsSQL", _
"USys_pTV_TreeNode", _
"Form_USys_pTV_TreeView"
Case Else
Select Case ErrEx.State
Case OnErrorGoto0
...
End Select
|
|
|