> Hab mal einen Versuch gestartet die DBInclude fertig zu stellen.
Super, dass Du am Ball geblieben bist!
> Ist noch reiner PB Code da mir die Zeit fehlte.
ist nicht schlimm. Seit PB4 (und der noch unzureichenden Unterstützung
durch TailBite) ist es momentan sogar von Vorteil, wenn Code als Includes
vorliegen. Manche Leute hier verwenden (aus nachvollziehbaren Gründen)
überhaupt keine Libraries. Mit der jetzigen Lösung würdest Du also ein
grösseres Publikum ansprechen.
> Für Anregungen, Vorschläge und Kritik wäre ich sehr dankbar.
ich habe mir den Code noch nicht en detail angeschaut, aber drei Vorschläge
hätte ich auf Anhieb:
1. Beim db_Connect() solltest Du auch #PB_Any als ersten Parameter
anbieten. #PB_Any ist eine Konstante mit dem Wert -1. Wenn dieser Wert
Deinem db_Connect() übergeben wird, so suchst Du die nächstfreie
Datenbanknummer selber aus und gibst sie an den Aufrufenden zurück.
Somit muss der Programmierer sich selber keine Gedanken um die
Vergabe der Datenbanknummer machen.
also, entweder so:
Code: Alles auswählen
If db_Connect(99, ...) ; Datenbanknummer ist 99
[...]
db_Disconnect(99, ...)
... oder so ...
Code: Alles auswählen
myDatabaseNumber = db_Connect(#PB_Any, ...) ; Datenbanknummer steht in myDatabaseNumber
If myDatabaseNumber
[...]
db_Disconnect(myDatabaseNumber, ...)
2. Bitte entferne die MessageRequester aus Deinem Code. Fülle anstatt
dessen eine interne Variable LastMessage$ oder LastError$, die Du über
eine Funktion GetLastMessage.s() oder GetLastError.s() nach aussen
leitest. Es sollte dem Programmierer überlassen sein, in welcher Form und
in welcher Sprache er Fehler dem Anwender präsentiert.
3. Momentan muss man beim Disconnecten den Datenbanknamen mit
angeben. Wenn Du in Deinem Code diese Namen intern in Bezug auf die
Datenbanknummer mitspeichern würdest (beispielsweise in einer
LinkedList), könnte man sich diese Angabe sparen und das Fehlerpotential
reduzieren.
Ansonsten: Weiter so!
Grüße ... Kiffi