PureObject - PureBasic OOP Unterstützung

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
inc.
Beiträge: 348
Registriert: 27.10.2004 12:25

PureObject - PureBasic OOP Unterstützung

Beitrag 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.
Zuletzt geändert von inc. am 21.01.2008 13:34, insgesamt 6-mal geändert.
Hier gibts die OOP Option für PureBasic.
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Interessant,

schaue ich mir auf jeden fall an :allright:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
inc.
Beiträge: 348
Registriert: 27.10.2004 12:25

Beitrag von inc. »

Version 1.0r56 für Windows & Linux
http://pb-oop.origo.ethz.ch/download
Hier gibts die OOP Option für PureBasic.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag 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:
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag 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?
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
inc.
Beiträge: 348
Registriert: 27.10.2004 12:25

Beitrag 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.
Hier gibts die OOP Option für PureBasic.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag 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 :)
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Benutzeravatar
inc.
Beiträge: 348
Registriert: 27.10.2004 12:25

Beitrag 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.
Hier gibts die OOP Option für PureBasic.
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag 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.
Zuletzt geändert von DarkDragon am 30.12.2007 14:59, insgesamt 2-mal geändert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Jo für mich auch: Faulheit :mrgreen:
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Antworten