delete

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: SimpleOOP - Opensource Precompiler

Beitrag von ts-soft »

:allright: für das Update!
Sirhc.ITI hat geschrieben:und jetzt gibt es für die jeweilige Architektur eine extra SimpleOOP Version.
Ich sehe da ein Problem, ich nutze eine IDE für beide Architekturen! Das dürfte dann wohl nicht gehen?

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: SimpleOOP - Opensource Precompiler

Beitrag von ts-soft »

Okay, dann bin ich ja beruhigt :D

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Re: SimpleOOP - Opensource Precompiler

Beitrag von X0r »

Habe leider einen ziemlich unschönen Fehler entdeckt. Das Ansprechen eines globalen Objekts einer Singleton Klasse funktioniert in Verbindung mit Includes nicht richtig.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: SimpleOOP - Opensource Precompiler

Beitrag von edel »

Kannst du noch etwas einbauen um bestimmte "Include" zu ueberspringen um so Zeit beim kompilieren zu sparen?
°°°
Beiträge: 59
Registriert: 05.11.2008 17:45

Re: SimpleOOP - Opensource Precompiler

Beitrag von °°° »

Hallo,

ich wollte ein Klasse die einen Verweis von sich selbst in einer Liste speichert. Allerdings bekomme ich immer denn fehler "Line 1: Structure not found: Test." Mache ich da etwas falsch oder kann das so gar nicht funktionieren?

Code: Alles auswählen

Class Test
  
  Public Method Init(List *list.Test())
    AddElement(*list())
    *list() = @This
  EndMethod
  
  Public Method Release(List *list.Test())
    ResetList(*list())
    While NextElement(*list)
      If *list() = @This
        DeleteElement(*list())
        Break
      EndIf
    Wend
  EndMethod
  
EndClass


NewList *t.Test()

*obj.Test() = NewObject.Test(*t)
    
Danke für das Projekt bin schon so an OOP gewöhnt das es ohne irgendwie seltsam währe.
PureBasic 4.51

Support this Game:_______________________Mein Buch:
http://www.interstellarmarines.com/_______http://www.epubli.de/shop/showshopelement?pubId=3477
TheCreepyProgramer
Beiträge: 42
Registriert: 11.06.2011 13:22

Re: SimpleOOP - Opensource Precompiler

Beitrag von TheCreepyProgramer »

Im Zusammenhang mit Listen ist mir auch etwas aufgefallen: Es scheint so, als mag der Precompiler es nicht, wenn zwischen BeginPrivate und EndPrivate ein List bzw. NewList steht. (Ich kann den Fehler gerade nicht nachproduzieren, da ich unter Linux on bin)
Bild
schallweller
Beiträge: 15
Registriert: 07.08.2012 15:58

AutoComplete funktioniert nicht richtig

Beitrag von schallweller »

Vorweg erstmal: 1000x DANKE FÜR DAS !!!
So macht das wirklich richtig Spaß. Du kannst meiner Meinung nacht hier gerne mal
deine Paypal posten. Als Spendenbox, weil da würd ich wirklich gerne (und bestimmt auch andere)
wenigstens einen kleinen Obulus transferieren, da ich erst mit deinem Precompiler
vernünfig OOPen lernen konnte und damit ich mich ein bißchen besser fühle.
Sowas gehört honoriert und das motiviert ja auch.
Außerdem wird er mir noch viele nützliche Dienste erweisen und wahrscheinlich
ab sofort bei jedem Projekt zum Einsatz kommen.

So jetzt zu meinem Problem

Der AutoComplete fängt immer irgendwann an ganz andere Sachen einzufügen als ich
ausgewählt hab. Teilweise ganze Codeblöcke. Dann ist das AutoComplete nicht mehr verwendbar, bis
ich PureBasic neustarte. Manchmal gehts auch dann nicht mehr. Weißt jemand eine Lösung?
Kann es von meiner Purebasic Konfiguration abhängen? Aktuell lässt sich der AutoComplete so
garnicht einsetzen. Und gerade der macht ja SimpleOOP erst richtig Simpel. Der Fehler tritt
sowohl im PB5.0 als auch 4.61 auf sowohl in der 64er als auch in der 32er variante.

System: Win7
Purebasic 5.0 & 4.61

Gruß Christian
Purebasic & MIDI - Das taugt!!
Wem meine Musik gefällt - ich freu mich über jeden Download / Kommentar
https://soundcloud.com/schallweller
schallweller
Beiträge: 15
Registriert: 07.08.2012 15:58

Re: SimpleOOP - Opensource Precompiler

Beitrag von schallweller »

OK...hat sich erledigt.

Hatte das Tool "mausII" im Hintergrund laufen, und das hat die Zwischenablage gestört.
Purebasic & MIDI - Das taugt!!
Wem meine Musik gefällt - ich freu mich über jeden Download / Kommentar
https://soundcloud.com/schallweller
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: SimpleOOP - Opensource Precompiler

Beitrag von Kurzer »

Nachtrag: Hat sich gerade erledigt.
Ich habe das "%TEMPFILE" Argument jetzt noch einmal eingetippt und nu gehts. Keine Ahnung was das war. Ein space hinterm Hochkomma oder sowas? Ich weiß es nicht. Jedenfalls fluppt jetzt alles wie es soll. :allright:



Hallo Sirhc.ITI,

ich wollte mir heute einmal Dein SimpleOOP ansehen (und darüber ggf. den Einstieg in die OOP Welt erfahren).

Die Installation habe ich manuell (aber gewissenhaft) vorgenommen, da ich nicht weiß, ob der Installer mit der /PORTABLE Version von PureBasic zurecht kommt.

Klappt soweit fast alles prima. Die Beispiele kann ich fehlerfrei compilieren.

Was mir jetzt aber auffällt ist, dass mir der ClassViewer eine Fehlermeldung auswirft, sobald ich ihn aufrufe (STRG+1).
Er findet die temporäre Sourcecodedatei im TEMP Verzeichnis nicht. In der Fehlermeldung zeigt er mir den kompletten Pfad + Dateinamen in runden Klammern an. Und dabei fällt mir auf, dass dem Dateinamen noch ein Hochkomma angehängt ist.

Also zum Beispiel: Could'nt read source file! (C:\Dokumente und Einstellungen\blah ... \Temp\Purebasic_TempFile1.pb")

Nun weiß ich nicht, ob das nur ein optisches Problem ist, oder ob das Programm wirklich versucht mit einem Hochkomma am Ende der Dateinamenerweiterung auf die Datei zuzugreifen.

Purebasic_TempFile1.pb liegt wirklich in dem Verzeichnis, nur eben ohne das Hochkomma.

Da das noch niemandem aufgefallen ist kann es natürlich auch an meiner Einrichtung liegen.

Wäre für Hilfe sehr dankbar.

Gruß "shorty" :)

Bild
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: SimpleOOP - Opensource Precompiler

Beitrag von Kurzer »

Ich bin es doch noch einmal mit ein paar Fragen zu OOP.

Bislang bin ich zeitlich noch nicht dazu gekommen mir SimpleOOP anzusehen.
Die Installation ist soweit fertig, es existiert also eine PureBasic 5.00 OOP Umgebung und ich habe mir bereits einige der OOP-Beispiele angesehen.

So langsam bekomme ich eine Ahnung welch potential in OOP liegt... ich weiß aber auch, dass das ein kontrovers diskutiertes Thema ist und OOP auch Nachteile hat. Man braucht ja nur diesen Thread hier durchzulesen oder nach OOP-Themen in den PureBasic-Foren zu suchen.

Wie dem auch sei, rein theoretisch habe ich Blut geleckt. Ich kann mir bereits ohne konkret damit programmiert zu haben gut vorstellen welche Teile meiner Programme ich effektiv besser mit OOP-Mitteln realisieren und vor allen Dingen pflegen und verstehen kann.
Ich muss dazu sagen, dass ich zwar zeitlebens ein prozedural-Programmierer war, ich dabei aber auch sehr gut meine Schwächen kenne.

Komplexe Funktionen oder Workflows in eigenen Programmen werden mir zum Verhängnis, wenn ich die Arbeit am Code eine Weile unterbrechen muss. Da nützt auch das Aufbröseln des codes in immer kleinere Problemhäppchen nichts. Gerade nachträgliche Änderungen oder die Fehlersuche in komplexen Funktionen können eine Menge und Hirnwindungen Zeit kosten.

Ich tue mich mit manchen Dingen eh etwas schwer, weil ich mich nicht Vollzeit mit der PureBasic-Programmierung beschäftigen kann. Teilweise bin ich tage-, wochen- oder monatelang mit völlig anderen Dingen beschäftigt (PureBasic ist für mich noch immer ein Hobby und ich habe nebenbei einen Job, der viel Aufmerksamkeit und "freien Speicher" im Kopf erfordert).

Gerade unter diesen Umständen sehe ich den Nutzen für mich in der Benutzung von SimpelOOP.

Jetzt habe ich über 25 Jahre lang immer schön prozedural programmiert, mir meinen eigenen Stil angeeignet, da ich meist mit "Nischenprodukten" (so will ich es mal nennen - hauptsächlich auf dem Amiga) gearbeitet habe, und stehe vor der OOP-Welt wie die Ochse vor'm Scheunentor.

Ich habe keinen blassen Schimmer, ob es in der OOP-Welt neben den anderen syntaktischen Regeln (die man sich anlesen und aus den SimpleOOP-Beispielen extrahieren kann) auch eine völlig andere Herangehensweise an bekannte Probleme gibt. Das lässt sich auch schwer aus den SimpleOOP-Beispielen herauslesen.

Hätte ich mir beizeiten mal C++, C# oder eine andere objektorientierte Sprache angeeignet, dann würde mir der Umgang und das Verstehen der Zusammenhänge sicherlich leichter fallen, aber so bin ich aus den Zeiten von Assembler, KickPascal und diversen Basicdialekten völlig anders eingenordet.

Die Gliederung von Sourcecode bzw. Projekten geschieht bislang nur auf Basis von "funktioneller Trennung". So trenne ich z.B. logische Funktionsbereiche eines Projektes in unterschiedliche Inkludedateien (Hauptfenster, Einstellungsfenster, Dateioperationen, Serialportkommunikation, usw.). Zusätzlich werden noch mein Eventsystem inkludiert und ggf. selbstgestrickte Gadgets als jeweils eigene Inkludedatei. Lang lebe die Projektverwaltung, über die ich mich echt riesig gefreut habe. :)

Das ganze wird in bekannter PureBasic-Manier alles in einem Rutsch durchkompiliert.

Zaghafte Blicke in Richtung C/C++ (die ich aber nie richtig verstanden habe) zeigten mir, dass in diesen Bereichen teilweise andere Workflows herrschen und viel Dinge in mitgelieferten Dateien definiert sind. Die Bezeichnung "Objektdatei" lief mir über den Weg oder Dateien, in denen nur irgendwelche Konstanten definiert sind. Auch scheint man in der C/C++/C# Welt nicht immer wieder alle Funktionsgruppen neu kompilieren zu müssen, es gibt eine Art "Zwischencode", der einfach nur in die Exe gelinkt wird.

Okay, das hat alles wenig mit der OOP-Problematik zu tun, ich schweife ab. :) Eigentlich wollte ich auch nur zeigen, dass ich von diesen Dingen wirklich keine Ahnung habe. Ich könnte vermutlich nicht mal einen fertigen "Hello World"-Code mit einem C-Compiler zum laufen bringen. ;)

Daher meine erste Frage: Macht es Sinn als so unvorbelasteter OOP-Programmierer SimpleOOP ohne weitere Informationsquelle nutzen zu wollen? Besteht die Gefahr, dass man sich falsche Abläufe und Benutzung aneignet, weil man irgendwelche OOP-Paradigmen nicht verinnerlicht hat?

Unabhängig von dieser Antwort würde mich trotzdem interessieren, ob es für jemanden mit meinem Kenntnisstand frei verfügbare Lektüre gibt, die einem das Thema näher bringen. Lektüre, deren Wissen ich auch in SimpleOOP anwenden kann und die nicht nur andere mainstream OOP-Dialekte voraussetzen.

Als dritte Frage brennt mir auf den Nägeln, ob sich im Bereich SimpleOOP eine gewisse Struktur (bzgl. Auslagerung von Code in Includedateien) als hilfreich herausgestellt hat. Also, ob man seine Klassendefinitionen alle in einer einzigen Datei halten sollte oder doch lieber nach logischer Funktion getrennt. Oder eben doch gar nicht auslagert und im Kopf des jeweiligen Quellcodes platziert (Main.pb, Berechnungen.pbi, Preferences.pbi, usw.). Die Frage können mir vermutlich nur eine handvoll SimpleOOP Nutzer beantworten.

Und als letzte Frage: Sollte man ein kommerzielles Produkt, welches mit PureBasic programmiert wurde besser nicht auf SimpleOOP umstellen? Es geht mir hier nicht um emotional geladene Ratschläge von OOP- bzw. Prozedural-Verfechtern, sondern um echte Hinweise, falls der Einsatz eines 3rd-partie AddOns wie SimpleOOP eine Gefahr für das kommerzielle Produkt darstellen könnte.

SimpleOOP wird zwar vollkommen quelloffen geliefert (an dieser Stelle meine Hochachtung dafür! Das ist nicht selbstverständlich), aber ich sehe mich derzeit noch völlig außerstande an SimpleOOP selbst etwas zu korrigieren, wenn es in zukünftigen PureBasic-Versionen zu Inkompatibilitäten kommen sollte.

Über Feedback würde ich mich freuen.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Antworten