Session D-MAXX

ClassMaxX vs.
Anwendungsgeneratoren

Patrick E. Schärer
INDISOFT GmbH


Konzeptionelle Zielsetzung:

Sämtliche Standard-Funktionalitäten sollen fertig sein und übernommen werden, wie                

Trotzdem soll die eigene Arbeit vollständig auf einer leeren Klassenbibliothek basieren, die alle eigenen Programmierungen aufnehmen kann und damit allen weiteren eigenen Projekten zur Verfügung gestellt werden kann.

Alle Standard-Funktionalitäten sollen leicht modifizierbar sein

Realisierung hier:

Wie es ohnehin allgemein zu empfehlen ist, verwendet der Entwickler grundsätzlich statt den Microsoft Foundation Classes seine eigenen Klassen, wobei für jede Microsoft-Klasse mind. eine Ableitung vorhanden ist. Namens-Konventionen entsprechend MS:

Diese Klassen werden „leer“ zur Verfügung gestellt: Klassenbibliothek kiUser. Alle Entwicklungen können hier abgelegt und verallgemeinert werden.

Zwischen die MS-Klassen und die „eigenen Foundation-Classes“ wird nun eine Stufe dazwischengeschoben:

Textbox(MS) -> kiTextbox(CM) -> txt

Listbox(MS)  -> kiListbox(CM)  ->  lst

Formular(MS)  -> kiForm(CM) -> frm

Alles, was man als „Windows-Standardfunktionalitäten“ bezeichnen könnte, ist in den ki-Klassen (ClassMaxX) fertig programmiert und steht per Vererbung in der eigenen Klassenbibliothek zur Verfügung. Da jede Funktion in einer sinnvoll gegliederten Methode abgepackt ist, kann jede ebenfalls auch punktuell in Ihrem Standardverhalten verändert werden.

Darüberhinaus stehen eine Vielzahl von Weiterprogrammierungen (extras, über den Standard hinaus) durch weitere ki-Klassen zur Verfügung, Methoden und Intelligenz, die im eigenen Code verwendet werden kann und eine Menge Zeitaufwand abnehmen.

Anwendungsrahmen generieren

Keine Sorge: Beim Erzeugen eines neuen Anwendungsrahmens arbeitet Ihr Computer nicht erst mal eine viertel Stunde (wie man das bei manchen Frameworks ja auch schon erlebt hat). Der Rahmen ist wirklich ein Rahmen und bleibt schlank.

Es wird keine Menge an fertigen Formularen mit in das Projekt hineingenommen, die sie vielleicht gar nicht brauchen, lediglich:

Anwendungskomponenten

Unter der Registerkarte "Anwendungskomponenten" können Sie grund­legende Komponenten Ihrer Anwendung von vornherein festlegen. Sie müssen solche Standards also nicht extra selbst programmieren. Ein Beispiel: Weitere VCX-Bibliotheken. Verfügen Sie bereits über eigene fertige VCX-Bibliotheken, die Sie in Ihrer Anwendung mitverwenden möchten, können Sie diese hier eintragen.

Los geht’s... : die Formularklassen

Projekt öffnen, Anwendung laufen lassen: Das ist also schon mal alles fertig. Rahmen steht und funktioniert und gefällt. Oder gefällt nicht? Dann machen wir uns später daran, dem Standard MEINER Firma zum Standard zu erklären. Meine KiUser macht’s möglich (s.o.).

Jetzt beginnt die Arbeit. Beim Bauen der Formulare ist entscheidend die Auswahl der Formularklassen. In Ihrer kiUser  finden Sie nun 3 grundlegende Formularklassen:

Diese Formular-Klassen beinhalten die ganze Intelligenz, aber kein Design / keine Controls – das ist Ihnen überlassen. Wenn Sie wollen können Sie dies ja in Ihre Frm hineinsetzen...

Verwendung der ClassMaxX-Eigenschaften und -Methoden

Zwar ist Ihre kiUser-Klassenbibliothek „leer“, aber sie ist nicht „dumm“. Darum hat sie doch eine Menge mehr Eigenschaften und Methoden, die Sie nun anwenden können, geerbt nämlich aus den ClassMaxX-Klassen. Vom Konzept des ClassMaxX ist uns wichtig, daß es für den Entwickler leicht ist, diese Eigenschaften und Methoden selbst zu durchblicken, damit er sie anwenden kann und optimalsten Nutzen aus allem ziehen kann, was die ki-Klassen für ihn schon fertig zur Verfügung stellen. Aus diesem Grunde bauen wir Ihnen Ihre Formulare nicht per Builder zusammen. Eine Guide-Anwendung zeigt Ihnen anhand von Musterformularen die einzelnen Grund-Formularklassen und Ihre Anwendung. Einige Beispiele werden wir in der Session ansehen.

Zur Erleichterung haben wir erst mal den aus den ClassMaxX-Klassen geerbten neuen Eigenschaften Standardwerte gegeben, an denen Sie immer gleich schnell ablesen können, was mit dieser Eigenschaft zu machen ist

[edit!]                                     Diese Eigenschaft ist notwendigerweise auszufüllen, damit das Formular oder sonstige Objekt funktioniert.

[may edit]                              kann ausgefüllt werden für eine zusätzliche Funktion.

[programmatic or edit]         wenn die Eigenschaft nicht im Designer ausgefüllt wird, erhält sie programmatisch einen Wert.

[programmatic]                     Die Eigenschaft wird programmatisch ausgefüllt. Andere Werte werden überschrieben. In Laufzeit können Sie aber auf diese Eigenschaften zugreifen, und damit eine Menge unterwegs notwendiger Informationen abfragen.

Die CM-Hilfe können Sie durch den zusätzlichen Menüpunkt „ClassMaxX“ leicht aufrufen und finden dort die neuen Eigenschaften und Methoden genau beschrieben.

Worum man sich erst mal nicht kümmern muß...

Thema: Anwendungsarchitektur. Soll sie sinnvoll gegliedert und aufgebaut sein, soll die Entwicklungsumgebung nach dem Testlauf wieder vollständig und sauber zurückgesetzt werden, ist damit bei einer objektorientierten Anwendung ein „bischen“ Arbeit verbunden. Das braucht man also nicht machen ClassMaxX baut eine grundlegende Objekthierarchie auf. Wenn nötig oder nützlich kann man sich das mal anschauen, muß aber nicht. Ein Blick hinein:

Auf diese Objekte kann jedoch zugegriffen werden. Wenn es um fertige Methoden zum Lesen / Schreiben der Ini-Dateien geht oder um all die vielen Funktionen, die man eben immer wieder braucht stehen sie da zur Verfügung. Das Tools-Objekt z.B. wartet darauf, verwendet zu werden: Es geht einfach um Zeitersparnis....

Demo-Version

Soweit erst mal die Einführung der Idee, um die es uns bei ClassMaxX geht und mit der wir hoffen, vielen eine Alternative bieten zu können und Ihnen einige Arbeit oder Ärger abnehmen zu können.

Die Demo ist voll funktiontüchtig außer so einem „kleinen dummen Demo-Fensterchen“ – das kann man sich also ansehen, genauso wie die enthaltene Guide-Anwendung, die die Verwendung leicht erklärt und den Zugang schnell ermöglicht.

Bezugsadresse

Patrick E. Schärer (persönliche CIS-ID 101725,1277)
Für ClaxxMaxX-Nachfragen, wenden Sie sich an:

Fa. Indisoft
Lister Str. 6

30163 Hannover

CIS: 106205,3221
URL: www.Indisoft-gmbh.de