> 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