hallo tappi,

ich habe gerade deine dokumentation für BASIC++ gelesen und möchte dir meine hochachtung für diese arbeit mitteilen.
ich habe mich in meiner arbeit sehr viel mit objektorientierter programmierung befasst und kann dir bestätigen,
dass dein BASIC++ dem simplen CCBasic um welten voraus ist!

eine kleinigkeit ist mir jedoch noch aufgefallen, die mich als objekt-guru stören würde:

Leider ist es nicht möglich auf ein Objekt zuzugreifen, wenn ein anderes Objekt
noch "aktiv" ist. Deswegen muss zunächst das Objekt mit der Standart Funktion
[ObjektName].INIT initialisiert werden. Am Ende müssen Sie dann noch
sicherstellen, dass mit der Funktion "OFF" Das Objekt abgeschaltet wird.
woher diese einschränkung kommt, ist mir natürlich klar.
im CCBasic muss man vor jeder PRINT-operation eine umleitung aktivieren!

aber warum kannst du dir nicht über ein status-byte merken, welche umleitung zuletzt aktiv war und bei einem zugriff
auf eines dieser objekte dann (automatisch) die notwendige umleitung aktivieren ?

nach meinem verständnis sollte das kein problem sein.
es kostet nur ein byte ram und einen IF, der bei jedem objektzugriff sicherstellt, dass die umleitung (noch) richtig steht.

dann können deine anwender problemlos folgenden oo-code schreiben:

Code:
WITH IR
	.SEND MyAddress, MyCommand
	LCD.CLEAR ' Display leeren
	LCD.PRINT "Test"
	.GET MyAddress, MyCommand
END WITH
gruss
martin