AFX++ von DS-Datasoft
Moderator: Moderatoren
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
AFX++ von DS-Datasoft
Folgendes kam gerade per Mail von Alaska - ich denke mal es ist auch für andere interessant und Dieter wird sicherlich auch noch was dazu schreiben:
Ab sofort ist AFX++ das neue AddOn Programmierwerkzeug für Xbase++ erhältlich.
Was ist AFX++ ?
Mit AFX++ lassen sich Applikationen aufbauen, deren Verhalten und Aussehen über externe Steuerdateien (Textdateien) bestimmt wird. Diese Steuerdateien können zur Laufzeit geändert werden, ohne das neu compiliert werden muß.
Dies bedeutet, daß Änderungen bzw. Anpassungen in den Steuerdateien direkt vor Ort beim Kunden zur Laufzeit gemacht werden können, bzw. nur die modifizierten Steuerdateien zum Kunden gegeben werden müssen.
Weiterhin kann die Verarbeitungslogik von der Bedieneroberfläche getrennt werden und somit lassen sich verschiedene Kundenvarianten leicht pflegen. Verarbeitungslogiken/Validierungen können aber auch in der Steuerdatei definiert werden.
In den Steuerdateien können alle Klassen und Funktionen aus Xbase++/XClass++ oder anderen mitgelinkten Libraries benutzt werden. Die Schreibweise entspricht der Codierung von Xbase++. Ferner werden Codeblöcke, iif() und IF/ELSEIF/ELSE/ENDIF Bedingungen unterstützt und auch die Definition von Variablen und deren Belegen und Abfragen.
Alle Datenbanken von Xbase++/XClass++/(ADSClass++) können benutzt werden, somit auch SQL-Datenbanken. Jede Steuerdatei beschreibt einen Dialog (Fenster). In der Steuerdatei werden das Menü, Toolbar, Statusbar, Dialog, Tabpages und alle Controls in Aussehen, Verhalten und Position definiert. Weiterhin werden darin die Tabellen zugeordnet und evtl. Scopes/Filter und Abfragen definiert.
Im Prinzip wird eine Steuerdatei wie PRG-Code geschrieben und zur Laufzeit interpretiert.
AFX++ kann von der Homepage www.ds-datasoft.de als voll benutzbare Trialversion heruntergeladen werden.
Viele Grüße,
Martin
Ab sofort ist AFX++ das neue AddOn Programmierwerkzeug für Xbase++ erhältlich.
Was ist AFX++ ?
Mit AFX++ lassen sich Applikationen aufbauen, deren Verhalten und Aussehen über externe Steuerdateien (Textdateien) bestimmt wird. Diese Steuerdateien können zur Laufzeit geändert werden, ohne das neu compiliert werden muß.
Dies bedeutet, daß Änderungen bzw. Anpassungen in den Steuerdateien direkt vor Ort beim Kunden zur Laufzeit gemacht werden können, bzw. nur die modifizierten Steuerdateien zum Kunden gegeben werden müssen.
Weiterhin kann die Verarbeitungslogik von der Bedieneroberfläche getrennt werden und somit lassen sich verschiedene Kundenvarianten leicht pflegen. Verarbeitungslogiken/Validierungen können aber auch in der Steuerdatei definiert werden.
In den Steuerdateien können alle Klassen und Funktionen aus Xbase++/XClass++ oder anderen mitgelinkten Libraries benutzt werden. Die Schreibweise entspricht der Codierung von Xbase++. Ferner werden Codeblöcke, iif() und IF/ELSEIF/ELSE/ENDIF Bedingungen unterstützt und auch die Definition von Variablen und deren Belegen und Abfragen.
Alle Datenbanken von Xbase++/XClass++/(ADSClass++) können benutzt werden, somit auch SQL-Datenbanken. Jede Steuerdatei beschreibt einen Dialog (Fenster). In der Steuerdatei werden das Menü, Toolbar, Statusbar, Dialog, Tabpages und alle Controls in Aussehen, Verhalten und Position definiert. Weiterhin werden darin die Tabellen zugeordnet und evtl. Scopes/Filter und Abfragen definiert.
Im Prinzip wird eine Steuerdatei wie PRG-Code geschrieben und zur Laufzeit interpretiert.
AFX++ kann von der Homepage www.ds-datasoft.de als voll benutzbare Trialversion heruntergeladen werden.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Jan,
es gibt ja auch einige, die hier nur so lesen und nicht bei Alaska im Verteiler hängen - darum hatte ich das mal gepostet (zumal Dieter dies sowieso vorhatte...)
Ich durfte mir das Tool auf der letzten DevCon anschauen (bwz. bekam es vorgeführt).
Es ist in erster Linie dafür da, die Fensterlayouts und das handling "von außen" zu modifizieren/verwalten.
Der Kunde will eine Änderung (z.B. die Reihenfolge der Felder anders angeordnet oder ein Feld zusätzlich in der Maske, oder eine gewisse Abhängigkeit (wenn Nachname angegeben ist, muss auch eine Adresse angegeben werden)) - diese Änderung kann dann ohne neu-kompilieren umgesetzt werden. Beim Kunden vor Ort oder auch zu Hause (der Kunde muss dann nur eine Datei austauschen).
Ich hatte damals noch angeregt, bereits bestehenden Code mittels eines Konverters in AFX++-Code konvertieren zu lassen - ob Dieter und Marcus das noch gemacht haben, weiß ich leider nicht.
Viele Grüße,
Martin
es gibt ja auch einige, die hier nur so lesen und nicht bei Alaska im Verteiler hängen - darum hatte ich das mal gepostet (zumal Dieter dies sowieso vorhatte...)
Ich durfte mir das Tool auf der letzten DevCon anschauen (bwz. bekam es vorgeführt).
Es ist in erster Linie dafür da, die Fensterlayouts und das handling "von außen" zu modifizieren/verwalten.
Der Kunde will eine Änderung (z.B. die Reihenfolge der Felder anders angeordnet oder ein Feld zusätzlich in der Maske, oder eine gewisse Abhängigkeit (wenn Nachname angegeben ist, muss auch eine Adresse angegeben werden)) - diese Änderung kann dann ohne neu-kompilieren umgesetzt werden. Beim Kunden vor Ort oder auch zu Hause (der Kunde muss dann nur eine Datei austauschen).
Ich hatte damals noch angeregt, bereits bestehenden Code mittels eines Konverters in AFX++-Code konvertieren zu lassen - ob Dieter und Marcus das noch gemacht haben, weiß ich leider nicht.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Hallo, Jan.
Deine Applikation wäre weitgehend data-driven, ihr Verhalten könnte also Kundenanforderungen angepaßt werden, ohne den Code ändern zu müssen, im Zweifelsfall sogar vor Ort, möglicherweise sogar durch den Kunden selbst. Das schafft Flexibilität und verkürzt Antwortzyklen bei Änderungswünschen. Es hat allerdings gelegentlich den Nachteil, daß ein Support-Department wie der Ochs vorm Tor steht, weil die bei Kunden laufenden Applikationen so unterschiedlich sind, daß es keine allgemeinen Antworten auf Fragen mehr gibt.Was für einen praktischen Sinn hat so ein Tool?
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Hallo,
... und jeder Texteditor reicht um die Anwendung zu ruinieren ...
Aber es kommt halt immer darauf an, was einem wichtiger ist.
Ich ziehe es vor, dass meine EXE unerschütterlich (na hoffentlich hört das jetzt kein Virenschreiber ) tut, was ich einprogrommiert habe.
Andere haben eventuell andere Probleme und können es brauchen.
... und jeder Texteditor reicht um die Anwendung zu ruinieren ...
Aber es kommt halt immer darauf an, was einem wichtiger ist.
Ich ziehe es vor, dass meine EXE unerschütterlich (na hoffentlich hört das jetzt kein Virenschreiber ) tut, was ich einprogrommiert habe.
Andere haben eventuell andere Probleme und können es brauchen.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21225
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 70 Mal
Hi,
stimmt, Parameterdateien, wie z.B. damals die Win.ini waren/sind echt prima, aber leider können sie mit jedem Texteditor verändert werden. Und ich möchte den Kunden/User sehen, der die Finger davon läßt......
Und dann kläre später mal ab, wer denn nun wo dran war und herumgedoktert hat.
So toll diese Technik sicherlich ist....
stimmt, Parameterdateien, wie z.B. damals die Win.ini waren/sind echt prima, aber leider können sie mit jedem Texteditor verändert werden. Und ich möchte den Kunden/User sehen, der die Finger davon läßt......
Und dann kläre später mal ab, wer denn nun wo dran war und herumgedoktert hat.
So toll diese Technik sicherlich ist....
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Hi
Wann wird diese Strukturdatei interpretiert, wenn ich den Dialog einbinde oder beim Start des Programms?
Wird die Exe dadurch kleiner oder muss der Dialog vorher reincompiliert bzw. bekannt gegeben werden?
Grüße Rolf
Danke Martin das trift auf mich zu.Martin Altmann hat geschrieben:es gibt ja auch einige, die hier nur so lesen und nicht bei Alaska im Verteiler hängen - darum hatte ich das mal gepostet
Wann wird diese Strukturdatei interpretiert, wenn ich den Dialog einbinde oder beim Start des Programms?
Wird die Exe dadurch kleiner oder muss der Dialog vorher reincompiliert bzw. bekannt gegeben werden?
Grüße Rolf
- Martin Altmann
- Foren-Administrator
- Beiträge: 16555
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 116 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Rolf,
ergänzend zu Toms Hinweis: Ich selber nutze AFX++ nicht und habe keine eigenen Erfahrungen damit.
Reincompiliert werden muss es nicht - die gesamte Definition liegt außerhalb in der entsprechenden Datei.
Viele Grüße,
Martin
ergänzend zu Toms Hinweis: Ich selber nutze AFX++ nicht und habe keine eigenen Erfahrungen damit.
Reincompiliert werden muss es nicht - die gesamte Definition liegt außerhalb in der entsprechenden Datei.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Ich gehe mal davon aus, daß AFX zwei der großen Stärken "unserer" Sprache nutzt, nämlich den Makro-Compiler und den Präprozessor. Diese Systematiken erlauben es, nahezu sämtlichen Xbase-Code auch zur Laufzeit zu erzeugen und zu "compilen". Ich nutze derlei auch für "data-driven"-Ansätze, etwa bei einem sehr umfassenden Präferenzen-System, das sich vollständig - inclusive der Objekterzeugung - aus Daten speist, und bei einem Menüsystem, das dieserart von außen veränderbar ist. Wer Roger Donnays eXPress++ besitzt, verfügt mit "DC_Dot" über ein Laufzeitsystem, das die Interpretation komplexer Ausdrücke zuläßt:
Herzlich,
Tom
Tom
-
- UDF-Programmierer
- Beiträge: 72
- Registriert: Fr, 09. Jun 2006 13:31
- Wohnort: Friesenried
- Danksagung erhalten: 5 Mal
- Kontaktdaten:
AFX++
Hallo,
mit der nächsten Version von AFX++ wird es auch eine Verschlüsselung der Steuerdateien geben, so das der Kunde diese nicht einfach ändern kann.
Der Vorteil bleibt aber nach wie vor, das nur eine Steuerdatei ausgetauscht werden muß.
Was bei der Diskussion noch gar nicht beachtet wurde, ist, das der Code für dei Verarbeitungslogik und für das Erscheinungsbild getrennt werden kann.
Die Verarbeitungslogik kann z.B. hartcodiert im exe sein, während alles andere über die Steuerdatei gemacht wird.
Eine weitere Sache über die ich für die Zukunft nachdenke ist, wenn AFX++ in der Lage wäre, eigene Funktionen in Steuerdateien zu verstehen, mit Parameterübergabe etc. wäre für eine Endapplikation kein Xbase Compiler nötig, d.h. der Xbase Compiler ist nur für den Kernel notwendig, nach außen
ist AFX++ eigenständig. Dies hätte zur Folge, das auch Benutzerkreise angesprochen werden können, die mit Xbase nichts am Hut haben.
Viel Spaß beim ausprobieren!
Dieter
DS-Datsoft GmbH & Co.KG
mit der nächsten Version von AFX++ wird es auch eine Verschlüsselung der Steuerdateien geben, so das der Kunde diese nicht einfach ändern kann.
Der Vorteil bleibt aber nach wie vor, das nur eine Steuerdatei ausgetauscht werden muß.
Was bei der Diskussion noch gar nicht beachtet wurde, ist, das der Code für dei Verarbeitungslogik und für das Erscheinungsbild getrennt werden kann.
Die Verarbeitungslogik kann z.B. hartcodiert im exe sein, während alles andere über die Steuerdatei gemacht wird.
Eine weitere Sache über die ich für die Zukunft nachdenke ist, wenn AFX++ in der Lage wäre, eigene Funktionen in Steuerdateien zu verstehen, mit Parameterübergabe etc. wäre für eine Endapplikation kein Xbase Compiler nötig, d.h. der Xbase Compiler ist nur für den Kernel notwendig, nach außen
ist AFX++ eigenständig. Dies hätte zur Folge, das auch Benutzerkreise angesprochen werden können, die mit Xbase nichts am Hut haben.
Viel Spaß beim ausprobieren!
Dieter
DS-Datsoft GmbH & Co.KG