Seite 1 von 6

PureObject - PureBasic OOP Unterstützung

Verfasst: 25.12.2007 04:43
von inc.
Der engl. Thread: http://www.purebasic.fr/english/viewtop ... 744#224744

Es handelt sich um einen Preprozessor welcher die Nutzung von OOP Techniken & Syntax in Purebasic unterstützt.

Getestet wurde mit PureBasic 4.10 und seiner IDE, sowie der für PB v4.10 letzten veröffentlichten Version von jaPBe.
Der Bug in PB 4.20b, was *Pointer ohne Typendefinition angeht, wird via der letzten PureObject Version umgangen. Bitte testen.

- Die Zeilenfolge bei der Debugger Ausgabe bleibt erhalten
- Vererbung und Polymorphie
- Kapselung
- Konstruktoren mit Parametern
- Ein finaler übersichtlicher generierter Code, welcher an den Kompiler gesendet wird.
Dieser Code ist immer im User Temp Verzeichnis von Windows zu finden, da dort auch das Kompiler-Temp Verzeichnis ist.

Das Projekt befindet sich hier: http://pb-oop.origo.ethz.ch/
Mit allen Infos, Dokus und der Möglichkeit für Bug-Meldungen!
Bedeutet, dass hier zwar der Preprozessor besprochen werden kann, sowie auch im Forum der Projekt-Site, aber dass alle Bugs DORT in der "Issues" Sektion vermerkt werden. Nur so behalten wir einen Überblick.
Bugs müssen dort in englisch gemeldet werden, da die "Issues" Sektion in englisch geführt wird.

Bitte die Dokumentation in der Projekt-Seite lesen, sowie den Changelog beachten bevor Bugs gepostet werden!

Wie auch in der o.g. engl. Bekanntmachung vermerkt, ich habe keinerlei Interesse daran, dass hier diskutiert wird, ob generell OOP in PureBasic Sinn macht oder nicht! Wer keinen Sinn darin sieht, solls eben nicht nutzen, ganz einfach. Es gibt bereits genügend solcher Threads für jenes Thema, daher dann bitte dort weitermachen.
Falls es doch Mitglieder drauf ankommen lassen, hier einen erneuten Flamewar im Entferntesten zu provozieren, dann wird diesem Thread hier von den Entwicklern eben keine Beachtung mehr geschenkt, ganz einfach :-)


Objekt orientierte Programmierung in der IDE oder jaPBe:

Bild

Bild

Beste Grüße,
Inc.

Verfasst: 25.12.2007 22:57
von mk-soft
Interessant,

schaue ich mir auf jeden fall an :allright:

Verfasst: 30.12.2007 05:43
von inc.
Version 1.0r56 für Windows & Linux
http://pb-oop.origo.ethz.ch/download

Verfasst: 30.12.2007 12:51
von ZeHa
Bin gespannt :)

Wollte demnächst nochmal ein kleines PB-Projekt anfangen, und ich denke, da werde ich diesmal mit OOP drangehen ;) oft hatte ich echt keine Lust mehr auf PB, weil ich viel zu sehr OOP gewohnt bin, aber ich denke, jetzt kann ich dem ganzen nochmal eine Chance geben :mrgreen:

Verfasst: 30.12.2007 12:59
von ZeHa
Arghh! "OOP keywords inside macros are currently not supported"

Ab wann wird das möglich sein? :)
Da mir manche Keywords zu lang sind, hab ich nämlich z.B. Procedure und EndProcedure durch "Proc" und "EndProc" ersetzt, und ProcedureReturn durch ein simples "Ret". Aber das geht jetzt nicht in Verbindung mit Deinem Compiler ;)

Übrigens, Class, NewObject und DeleteObject werden bei mir unter der Standard-IDE nicht fett dargestellt. Macht mir nix, da ich jaPBe benutze (und da funzt es wie erwartet), aber sollte das nicht in der Standard-IDE auch so sein?

Verfasst: 30.12.2007 13:54
von inc.
ZeHa hat geschrieben:Arghh! "OOP keywords inside macros are currently not supported"

Ab wann wird das möglich sein? :)
Da mir manche Keywords zu lang sind, hab ich nämlich z.B. Procedure und EndProcedure durch "Proc" und "EndProc" ersetzt, und ProcedureReturn durch ein simples "Ret". Aber das geht jetzt nicht in Verbindung mit Deinem Compiler ;)

Übrigens, Class, NewObject und DeleteObject werden bei mir unter der Standard-IDE nicht fett dargestellt. Macht mir nix, da ich jaPBe benutze (und da funzt es wie erwartet), aber sollte das nicht in der Standard-IDE auch so sein?
Welche version von Purebasic hast du installiert? Die aktuellste? Wenn ja, dann sende mir mal dein Purebasic.prefs file.

"Procedure" und "EndProcedure" werde ich gesondert behandeln, sind ja vor allem in erster Linie PB Keywords.

Verfasst: 30.12.2007 14:06
von ZeHa
Hmm nee, ist nicht die aktuellste. Hab's schon seit längerem nicht mehr aktualisiert, ich hab 4.02 noch drauf :D

Naja dann werd ich das mal tun...


EDIT: Es geht jetzt :)

Verfasst: 30.12.2007 14:34
von inc.
Was waren eigentlich die Hauptgründe für das beibehalten von 4.02 ?
Würde mich interessieren, denn wenn die Community wirklich immer noch in 4.02 und 4.10 gespalten ist, müsste man das im Installer prüfen.

Verfasst: 30.12.2007 14:54
von DarkDragon
inc. hat geschrieben:Was waren eigentlich die Hauptgründe für das beibehalten von 4.02 ?
Würde mich interessieren, denn wenn die Community wirklich immer noch in 4.02 und 4.10 gespalten ist, müsste man das im Installer prüfen.
:lol: Zu faul zum Updaten bei mir. Ich brauch PB sowieso nur für Kleinigkeiten.

[EDIT]
/:-> Wieso wurde SmartUpdater nochmal entfernt? Ich hätte eher gehofft, dass das mal nach Linux portiert wird.

Verfasst: 30.12.2007 14:54
von ZeHa
Jo für mich auch: Faulheit :mrgreen: