fpGUI auch für Go32???
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
fpGUI auch für Go32???
Hallo, ich bin total neu hier, beschäftige mich aber schon geraume Zeit mit Freepascal und Lazarus. Bin eigentlich eingefleischter Windows Programmierer. Ich staune deshalb darüber, das die DOS Plattform noch immer bis in die aktuelle Version des Compilers unterstützt wird und mit der neuen Version 3.0 sogar 16 Bit Code unterstützt wird, was für die Portierung von altem Turbo-Pascal Code unschätzbare Vorteile hat. Zudem kann man dann noch alle Object Pascal Features zusammen mit diesem alten Code verwenden.
Ich habe nun den Ehrgeiz entwickelt, die fpGUI:
http://fpgui.sourceforge.net/
auch für die Go32 Plattform nutzbar zu machen. Ich habe dank HXDOS von Japeth:
https://de.wikipedia.org/wiki/HX_DOS_Extender
die Bibliotheken als .a Bibliotheken einbinden können und so die Systemabhängigen Teile neu übersetzt, in der Hoffnung, dieses GUI Toolkit auch für Go32 verfügbar machen zu können. Da ich mit Lazarus übersetzt habe und dort den DOS Compiler nicht mit installiert habe, hab ich die Übersetzung erst mal für Windows vorgenommen, wobei ich nicht das gesamte HXDOS eingebunden habe, sondern nur diejenigen Windows API Funktionen, die vom fpGUI Toolkit auch wirklich aufgerugen werden. Der Rest sollte unter Go 32 ja durch dortige Funktionen abgesichert sein, wie Dateiarbeit, Laufwerke finden und anderes.
So wäre es schön wenn jemand im Forum hier mal die Übersetzung für Go32 plattform vornehmen und anschließend einige der der fpGUI beiliegenden Demo Programme auf Go32 testen könnte.
Dazu müsste ich allerdings die fpGUI irgendwo hier hochladen können. Ich würde dann aber nur die fraglichen Bibliotheken aus hxdos und die für Go32 vorbereiteten Units hochladen. Der Link für die fpGUI befindet sich oben unter fpGUI. Ich habe die Version 1.2 verwendet. Es gibt dort unter dem Directory /src den Unterordner corelib mit den Unterordnern /gdi /x11 und /carbon. Dort habe ich bei mir einen weiteren Unterordner /dos angelegt, wo sich die für DOS vorbereiteten Units befinden. Der Tester sollte den UNterordner DOS auch unter corelib anlegen und da hinein die von mir hochgeladenen Dateien entpacken und kopieren. Dann übersetzen.
Die Lizenz der fpGUI sollte eine Weitergabe erlauben. Sie steht unter modified LGPL.
So bitte ich das Team sogar um den Test. Wenn der positiv ausfällt, sollte der Hinzufügung einer weiteren Plattform für dieses Toolkit nichts mehr im Wege stehen.
Ich bitte außerdem hier in diesem Strang um Testbereichte mit eventuellen Fehlermeldungen. Ich kümmere mich dann un die Fehlerbereinigung.
Leider weiß ich nicht, wieviele Megabytes ich hier maximal hoch laden darf. Falls, aus welchen Gründen auch immer HXDOS noch benötigt werden sollte, kann ich es gerne hochladen, das dürften aber einige MB werden. Außerdem programmiert ja die Mehrzahl für Windows oder Linux. Aber mich hat halt bezüglich meines Planes der Ehrgeiz gepackt, zumal mit HXDOS eine Windows Emulation vorliegt, mit einem Subset an Windows API Funktionen, Die fpGUI rift davon wiederum nur einen Teil auf, was es mit vertretbarem Aufwand möglich machen sollte, diese GUI Set auch für GO32 fit zu machen. Hoffe ich zumindest.
Ich habe nun den Ehrgeiz entwickelt, die fpGUI:
http://fpgui.sourceforge.net/
auch für die Go32 Plattform nutzbar zu machen. Ich habe dank HXDOS von Japeth:
https://de.wikipedia.org/wiki/HX_DOS_Extender
die Bibliotheken als .a Bibliotheken einbinden können und so die Systemabhängigen Teile neu übersetzt, in der Hoffnung, dieses GUI Toolkit auch für Go32 verfügbar machen zu können. Da ich mit Lazarus übersetzt habe und dort den DOS Compiler nicht mit installiert habe, hab ich die Übersetzung erst mal für Windows vorgenommen, wobei ich nicht das gesamte HXDOS eingebunden habe, sondern nur diejenigen Windows API Funktionen, die vom fpGUI Toolkit auch wirklich aufgerugen werden. Der Rest sollte unter Go 32 ja durch dortige Funktionen abgesichert sein, wie Dateiarbeit, Laufwerke finden und anderes.
So wäre es schön wenn jemand im Forum hier mal die Übersetzung für Go32 plattform vornehmen und anschließend einige der der fpGUI beiliegenden Demo Programme auf Go32 testen könnte.
Dazu müsste ich allerdings die fpGUI irgendwo hier hochladen können. Ich würde dann aber nur die fraglichen Bibliotheken aus hxdos und die für Go32 vorbereiteten Units hochladen. Der Link für die fpGUI befindet sich oben unter fpGUI. Ich habe die Version 1.2 verwendet. Es gibt dort unter dem Directory /src den Unterordner corelib mit den Unterordnern /gdi /x11 und /carbon. Dort habe ich bei mir einen weiteren Unterordner /dos angelegt, wo sich die für DOS vorbereiteten Units befinden. Der Tester sollte den UNterordner DOS auch unter corelib anlegen und da hinein die von mir hochgeladenen Dateien entpacken und kopieren. Dann übersetzen.
Die Lizenz der fpGUI sollte eine Weitergabe erlauben. Sie steht unter modified LGPL.
So bitte ich das Team sogar um den Test. Wenn der positiv ausfällt, sollte der Hinzufügung einer weiteren Plattform für dieses Toolkit nichts mehr im Wege stehen.
Ich bitte außerdem hier in diesem Strang um Testbereichte mit eventuellen Fehlermeldungen. Ich kümmere mich dann un die Fehlerbereinigung.
Leider weiß ich nicht, wieviele Megabytes ich hier maximal hoch laden darf. Falls, aus welchen Gründen auch immer HXDOS noch benötigt werden sollte, kann ich es gerne hochladen, das dürften aber einige MB werden. Außerdem programmiert ja die Mehrzahl für Windows oder Linux. Aber mich hat halt bezüglich meines Planes der Ehrgeiz gepackt, zumal mit HXDOS eine Windows Emulation vorliegt, mit einem Subset an Windows API Funktionen, Die fpGUI rift davon wiederum nur einen Teil auf, was es mit vertretbarem Aufwand möglich machen sollte, diese GUI Set auch für GO32 fit zu machen. Hoffe ich zumindest.
- Dateianhänge
-
dos.zip
- (398.48 KiB) 85-mal heruntergeladen
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: fpGUI auch für Go32???
Verstehe ich dies richtig, HXDOS ist eine Art Mini-Windows, das auf MS-DOS aufsetzt ?
Und fpGUI ist eine IDE welche in diesem Windows läuft ?
Und fpGUI ist eine IDE welche in diesem Windows läuft ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
Re: fpGUI auch für Go32???
Stimmt, genau!Mathias hat geschrieben:Verstehe ich dies richtig, HXDOS ist eine Art Mini-Windows, das auf MS-DOS aufsetzt ?
Nein, fpGUI ist ein Widgetset von Komponenten (Klassen) wie Listbox, Combobox u.a. äquivalent zur LCL. Läuft bisher unter Windows und Linux (X11).Mathias hat geschrieben: Und fpGUI ist eine IDE welche in diesem Windows läuft ?
Es gibt eine experimentelle IDE namens Maximus, die mit der fpGUI entwickelt wird und Bestandteil der fpGUI Beispielprogramme ist.
Alle Windows-API Funktionen, die von der fpGUI aufgerufen werden, sind in HXDOS implementiert, außer SetArcDirection. Deshalb habe ich den Code gerinfügig geändert, damit das compilierbar wird.
Allerdings sind die Dunktionen Arc und Ellipse Dummies. Für die Radiobuttons muss da wohl eine zusätzliche Grafikbibliothek eingesetzt werden, es sei denn das sie in den Units für die Radiobuttons bereits separat gelöst. Um das zu testen, muss das allers übersetzt und ausführlich getestet werden. Was funktioniert, was funktioniert nicht. Ist doch noch so einiges an Arbeit. Ich bin gerade bei der Übersetzung unter go32.
.
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: fpGUI auch für Go32???
Könnte man da nicht genau so gut Win95/98 verwenden ?Mathias hat geschrieben:
Verstehe ich dies richtig, HXDOS ist eine Art Mini-Windows, das auf MS-DOS aufsetzt ?
Stimmt, genau!
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: fpGUI auch für Go32???
Nicht wenn man die Absicht hat, für DOS Programme zu Entwickeln.Könnte man da nicht genau so gut Win95/98 verwenden ?
Ich nehme an das ist bestimmt der Hauptgrund für fpGUIcoder sowas zu machen. Ich frage mich ja, wieso jemand noch für DOS Entwickeln möchte, aber warum nicht?
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
Re: fpGUI auch für Go32???
Mathias hat geschrieben:Könnte man da nicht genau so gut Win95/98 verwenden ?Mathias hat geschrieben:
Verstehe ich dies richtig, HXDOS ist eine Art Mini-Windows, das auf MS-DOS aufsetzt ?
Stimmt, genau!
Kann man mit Sicherheit.
Aber waum wird überhaupt noch DOS in Freepascal mitgeschleppt, warum schafft man das nicht endlich mal ab?
Und wenn schon noch DOS, dann kann ich das aus Nostalgiegründen sehr wohl recht gut nachvollziehen. Dann gehört auf so einen Nostalgierechner auch damalige Originalsoftware, die war oft genug maximal im Textmode. So weit also OK.
ABER:
Es gab auch damals schon richtige GUI Programme wie VGACOPY oder StarWord, ...
Es gibt auch Oldtimer Fanclubs, sogar für Trabant und Wartburg. Aber auch hier gab es diese PKW sowohl als Zweitakter wie auch als Viertakter. Und heute sind diese PKW mit heutigen farbigen Lacken lackiert, nicht mit den verwaschenen Farben die in der DDR üblich waren.
So möchte ich, das auch GUI Oberflächen im heutigen DOS, das ja mit Freedos sogar wieder neu aufgelegt wird, gleichberechtigt sehen.
Ich kann auch gut nachvollziehen, das jemand der ein Kommandozeilentool sehr genau kennt, seine Aufgabe damit schneller gelöst hat, als ich mit der GUI. Ich aber, der das Kommandozeilentool nicht kennt, nicht weiß, welche Parameter in welcher Reihenfolge zu setzen sind (ist NICHT egal), frickel da rum ohne ein verwertbares Ergebnis, ich bin da mit der GUI schneller.
Bedienoberflächen haben daher ihre volle Berechtigung aber Textmode sieht einfach hässlich aus.
DOS Nutzer wollen auch heute zwar möglichst kleine speichersparende Programme. Aber Freepascal fordert schon mindestens 8MByte, wohl auch unter Go32, empfohlen werden 16 MByte. Mit diesem Speicherausbau sollte es auch unter DOS Kein Problem sein, richtige grfische Bedienoberflächen zu betreiben.
Heutzutage aber will wohl niemand mehr so eine GUI für DOS neu entwickeln. Daher hab ich mir gedacht, wenn es irgendeine GUI gibt, die mit HXDOS lauffähig zu kriegen ist, schlage ich "2 Fliegen mit einer Klappe"
Ich habe dann eine GUI, die aucch unter DOS läuft, kann damit aber auch moderne Windows Programme schreiben, die ohne großen Potieraufwand dann auch für DOS nutzbar gemacht werden können, was ja mit Graphic VIsion oder einer anderen speziell für DOS entwickelten GUI schon mal nicht so leicht geht.
Zumal ja DOS zwar veraltet ist, aber dennoch einerseits von Comuterspielern nach wie vor genutzt wird um die alten Spiele weiter zocken zu können, andererseits von Menschen die die PC Entwicklung von Beginn an mitgemacht haben, aus Nostalgigründen weiter betrieben werden, obwohl auch diese Personen auf jeden Fall noch einen modernen Windows- oder Linux Rechner für ihre tägliche Arbeit nutzen.
Und hinzu kommt der Umstand, das Freepascal nach wie vor Go32 unterstützt und in jeder neuen Version wieder mitliefert. Warum dann nicht eine anständige GUI-lib für diese Plattform mitliefern? Wenn echt gar keiner mehr mit Go32 programmiert, dann brauchte der Go32 Teil auch nicht mehr verteilt zu werden. Nicht mal die älteren Versionen, denn das kostet alles Platz auf dem Server und damit letztlich auch Geld.
Wenn daher Go32 noch immer präsent ist, möchte ich, das da auch GUI ihren Platz bekommt.
Da ich aber nun auch nicht so eine GUI total neu entwickeln will, nehme ich eine, die hoffentlich bald lauffähig auf DOS portiert ist, aber aus der Windows Welt kommt. Dafür brauche ich dann HXDOS, das Mini Windows, um nicht alles neu schreiben zu müssen.
HXDOS ist übrigens mit Go32 kompatibel.
Derzeit versuche ich mit den ebenfalls vohandenen .lib Bibliotheken eine reine Go32 Version zu bauen, die alle HXDOS Teile bereits in ihren Units integriert hat. Ist aber aufwendiger als gedacht. Daher werde ich in den nächsten Tagen eine Version für Windows Compilieren, die auf die Besonderheiten von HXDOS abgestimmt ist und dann mit einem speziellen Loader in DOD geladen werden kann. Dabei kann die .exe ihr Windows Format behalten.
Oder gibt es eine GUI, die zukünftig mit Freepasal für Go32 mitgeliefert werden wird?
Ich weiß auch, das mit fpc 3.0.0.rc1 eine Compilerversion geplant ist, die 16Bit Code für DOS erzeugt und hoffentlich dann auch 16Bit Assemblercode aus Turbo Pascal Zeiten übersetzen kann. Damit ließe sich dann Graphic Vision, die vollgrafische Variante von Free Vision für Freepascal nutzbar machen. Die Portierung nach 32 Bit hab ich da aufgegeben.
Solange diese Version aber noch nicht offiziell ist, bisher nur Snapshots mit noch nicht allen Units, warte ich damit noch und forciere halt die fpGUI, die ich in 2 Varianten für Go32 bereitstellen möchte.
Einmal als Windows Version, die auch mit HXDOS läuft (evtl. für HXDOS speziell angepasst, <für Windows ist sie problemlos übersetzbar>)
Zum Anderen, wenn sich der Aufwand in Grenzen hält, als reine Go32 Version, die alle benötigten Bibliotheken statisch einbindet.
Mich hat der Ehrgeiz gepackt, das zu schaffen. Nur eine andere GUI mit modernem Fensterstil, minimum win95 Stil, nicht 3.11 die für Go32 fit gemacht wird, kann meinen Ehrgeiz stoppen.

Aber die lässt noch auf sich warten.

.
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: fpGUI auch für Go32???
Ich könnte mir Spezialanwendungen vorstellen, z.B. eine Maschienensteuerung, wo man nicht einfach den Computer wechseln kann.Ich frage mich ja, wieso jemand noch für DOS Entwickeln möchte, aber warum nicht?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
Re: fpGUI auch für Go32???
Erste Tests lassen hoffen. Sieht vielversprechend aus!!!




-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
fpGUI auch für Go32??? Jetzt auch auf Sourcefoge zum Downloa
Hallo,
es ist vollbracht! Die fpGUI, die es für Windows und Linux (X11) und wohl auch noch für Mac (carbon) gibt, gibt es ab jetzt auch für DOS go32v2.
https://sourceforge.net/projects/opasgui/
Fragen und Kritiken bitte hier in diesem Strang posten!
es ist vollbracht! Die fpGUI, die es für Windows und Linux (X11) und wohl auch noch für Mac (carbon) gibt, gibt es ab jetzt auch für DOS go32v2.
https://sourceforge.net/projects/opasgui/
Fragen und Kritiken bitte hier in diesem Strang posten!
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: fpGUI auch für Go32???
Irgendwie blicke ich nicht durch.
Wie du schreibst ist HXDOS ein minimales Windows.
Somit müsste doch Lazarus darauf laufen, oder verstehe ich da etwas falsch ?
Wie du schreibst ist HXDOS ein minimales Windows.
Somit müsste doch Lazarus darauf laufen, oder verstehe ich da etwas falsch ?
Zuletzt geändert von Mathias am Mo 26. Okt 2015, 17:59, insgesamt 1-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6782
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: fpGUI auch für Go32???
Läuft Lazarus mit dem fpgui widgetset. Imho nicht.Mathias hat geschrieben:Irgendwie blicke ich nicht durch.
Wie du schreibst HXDOS ein minimales Windows.
Somit müsste doch Lazarus darauf laufen, oder verstehe ich da etwas falsch ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: fpGUI auch für Go32???
Ich meine es umgekehrt, das Lazarus(Enwicklungsumgebung) auf HXDOS läuft.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6782
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: fpGUI auch für Go32???
Exakt das meinte ich. Das würde nur gehen wenn man Lazarus mit dem fpgui widgetset übersetzen könnte.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: fpGUI auch für Go32???
Ich könnte mir auch vorstellen das es erst einmal nur ein "einfaches" Target für den FPC ist.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 6918
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: fpGUI auch für Go32???
Wen Lazarus nicht auf HXDOS läuft,
dann würden andere Windows-Anwendungen auch nicht mit HXDOS laufen ?
dann würden andere Windows-Anwendungen auch nicht mit HXDOS laufen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot