OptionValueManager

Diskussionen über den Quellcode (Module, Klassenstruktur, Schnittstellen u.s.w.) der Access Code Library

Re: OptionValueManager

Beitragvon Andreas Vogt » Mo 1. Jun 2015, 09:59

Hallo,
Problem macht die 0 im Enum. Dann stimmt die Zeilenzahl beim Einfügen nicht mehr.
Abhilfe schafft eine Änderung in der Prozedur GetEnumKeyArray:
Code: Alles auswählen
        If .RecordCount = 0 Then
            ReDim EnumKeys(1 To 1)
            EnumKeys(1) = "[_undefined]"


Außerdem denk ich dass wir das Kontrukt: If (0 / 1) + (Not Not m_Values) = 0 Then
nicht in eine kleine Funktion auslagern sollten? z.B. if not isInitArray() then ... oder so.

BTW: wiso eigentlich (0/1)? das ergibt doch immer 0?! Dann könnte man es doch weglassen - oder?

Andreas
Andreas Vogt
Entwickler
 
Beiträge: 165
Registriert: Do 18. Mär 2010, 18:00
Wohnort: Offenburg
Accessversion: 2.0, 97, 2002, 2003, 2007, 2010
Access-Erfahrung: Fortgeschritten

Re: OptionValueManager

Beitragvon Josef Pötzl » Mo 1. Jun 2015, 12:06

Hallo!

Ich hab eine kleine Änderung für die Array-Prüfung eingespielt.


BTW: wiso eigentlich (0/1)? das ergibt doch immer 0?! Dann könnte man es doch weglassen - oder?

Ich testete das kurz:
Code: Alles auswählen
(Not Not m_Values) = 0

hätte bei meinen Test ausgereicht.

Die Zeile
Code: Alles auswählen
If (0 / 1) + (Not Not m_Values) = 0 Then

hab ich bei mir als Codeschnippsel zur Array-Prüfung abgelegt. (Fand ich im Internet, als ich nach einer Array-Prüfung suchte, die mehr als IsArray kann und auch ein leeres Array erkennt. Das (0/1) soll mögliche Compiler-Fehler vermeiden, daher ließ ich das im Code.)

... hab das jetzt auf die etwas "schönere" Variante mit API "GetSafeArrayPointer" umgestellt.


Der Name "OptionManager" soll bleiben?

LG
Josef
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Re: OptionValueManager

Beitragvon Andreas Vogt » Mo 1. Jun 2015, 13:18

Hallo Josef,
ja so sieht die Array-Prüfung besser aus.
Was hälst du von dem Demo-Formular?
Warum hast du es aus dem use-Tag entnommen?

Btw: wäre es keine Idee in den Import Wizard eine Checkbox für Demo-Daten einzufügen?
Btw2: EnumKeys(0) = "[_undefined]" ist falsch, löscht mal alle Einträge aus der Tabelle und versucht den Enum zu aktualisieren gibts ein Fehler.

Andreas
Andreas Vogt
Entwickler
 
Beiträge: 165
Registriert: Do 18. Mär 2010, 18:00
Wohnort: Offenburg
Accessversion: 2.0, 97, 2002, 2003, 2007, 2010
Access-Erfahrung: Fortgeschritten

Re: OptionValueManager

Beitragvon Josef Pötzl » Mo 1. Jun 2015, 13:45

Hallo!

Ich stellte nun noch das Beispiel-Form mit Codelib-Tags ins Repo.
Die Klasse benötigt das Beispiel-Form nicht und ich finde es daher nicht ideal, wenn ein Formular importiert wird, das man gar nicht benötigt.
Besser: man wählt das Beispiel-Formular für den Import aus und die Klasse wird automatisch importiert. (Funktioniert leider nicht, da die Setup-Prozeduren vorher ausgeführt werden müssten.)

Löscht mal alle Einträge aus der Tabelle und versucht den Enum zu aktualisieren gibt's ein Fehler.

Ist nun behoben.


Btw: wäre es keine Idee in den Import Wizard eine Checkbox für Demo-Daten einzufügen?

Ja, man könnte das im Prinzip wie bei den Tests machen. Die Frage ist nur, lohnt sich das?
Man kann ja gleich das Beispiel für den Import auswählen.
.. und wenn man Tests schreibt, hat man eigentlich auch ein paar gute Beispiele. :)

LG
Josef
Josef Pötzl
Moderator
 
Beiträge: 805
Registriert: Mo 30. Nov 2009, 10:08
Wohnort: Klagenfurt
Accessversion: 2016

Vorherige

Zurück zu Quellcode

cron