Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

0.21.0 Beta

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 26.07.2010, 22:03    Titel: 0.21.0 Beta Antworten mit Zitat

Hat jemand die neue Version vom 22.7.2010 ausprobiert?

Werd mir die mal installieren.. mal schauen was sich so verändert hat lächeln

evtl. haben die endlich ein kleines problem gelöst worauf ich lange gewartet hatte happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 26.07.2010, 22:07    Titel: Re: 0.21.0 Beta Antworten mit Zitat

OneCypher hat Folgendes geschrieben:
evtl. haben die endlich ein kleines problem gelöst worauf ich lange gewartet hatte happy

Wirst du im changelog sehen können. Ansonsten, was ist an dieser Version so besonders, dass dafür gleich ein neuer Thread notwenig wäre? Sowas gab's IIRC auch nicht für 0.20 und die Versionen davor. Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 26.07.2010, 22:53    Titel: Antworten mit Zitat

Die letzte version kam 2008 raus, ich find das ist dann schon was besonderes happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 27.07.2010, 16:46    Titel: Antworten mit Zitat

Besonderheiten gibt es einige, z.B. mein Nick im changelog grinsen

Ansonsten gibt es einige bugfixes zu feiern, wie etwa das Problem beim Rückfallen der fbgfx auf GDI wenn DirectX nicht anspringt unter Windows.

Neues gibt es naked-Funktionen, die den Funktionsaufruf beschleunigen sollten, wenn man den ASM beherrscht und der Rest steht wie Jojo schon sagt alles im changelog.


Wer sich in letzter Zeit eine SVN-Version im FreeBASIC-Portal gezogen hat, dürfte keine Änderungen feststellen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 27.07.2010, 21:15    Titel: Antworten mit Zitat

Ich fänd Funktoren ganz toll lächeln

Und bei der überladung des operator CAST() innerhalb einer Klasse/Type klappts nicht, wenn man den als "any ptr" deklariert...
Also das deklarieren klappt schon, aber der wird nicht benutzt, falls dann ein bestimmter datentyp-pointer erwartet wird.. (da kann ich aber ein beispiel zu liefern)
Ich hatte gehofft, dass das in der neuen version funktioniert.. aber tuts leider immer noch nicht traurig

@MOD: Wow! Wo hast du denn genau überall mitgewirkt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 27.07.2010, 22:09    Titel: Antworten mit Zitat

Any Ptr ist ja ein nicht definierter Pointer und das gibts eigentlich nicht. Für gewöhnlich wird versucht dann UByte Ptr aufzurufen.

Ich hab die enthaltenen examples alle mit der neuen Version lauffähig gemacht, da einige schon sehr veraltet waren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 27.07.2010, 22:55    Titel: Antworten mit Zitat

OneCypher hat Folgendes geschrieben:
@MOD: Wow! Wo hast du denn genau überall mitgewirkt?


Zitat:
- "a MOD &hffffffffu" could be mistaken for "a MOD -1", and incorrectly optimised to 0 (counting_pine)

durchgeknallt
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
micha



Anmeldungsdatum: 09.12.2005
Beiträge: 72

BeitragVerfasst am: 28.07.2010, 03:02    Titel: Antworten mit Zitat

MOD hat Folgendes geschrieben:
Any Ptr ist ja ein nicht definierter Pointer und das gibts eigentlich nicht.
Aber sicher doch,
der Unterschied zum nicht referenziertem NULL Pointer besteht darin
das ein Kompiler bei dem Versuch von Pointer-Mathe eine Fehlermeldung bzw. mindestens ein "Warning" ausgeben sollte.

dim as byte ptr pByte: pByte+=1 ' legal
dim as any ptr pAny: pAny+=1 ' illegal

Ob FB in der aktuellen Version dies "richtig" macht
kann ich gerade nicht Testen weil nicht zu Hause.

Micha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 28.07.2010, 12:48    Titel: Antworten mit Zitat

was hast du denn geraucht? xD dein post macht exakt 0 sinn x)
was zur hölle (sorry lutz) soll ein nicht-referenzierter null pointer?
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 28.07.2010, 19:34    Titel: Antworten mit Zitat

Noch mal zu dem any ptr:

das hier funktioniert wider erwarten (nach wie vor) NICHT:
Code:

Type TestType
    public:
        declare operator cast() as any ptr
        declare constructor(width1 as integer, height1 as integer)
    private:
        image_pointer as any ptr
end type

operator TestType.Cast() as any ptr
    return image_pointer
end operator

constructor TestType(width1 as integer, height1 as integer)
    image_pointer = imagecreate(width1,height1,RGB(0,255,0))
    line image_pointer, (0,0)-(width1, height1),RGB(255,0,0)
    line image_pointer, (0,height1)-(width1, 0),RGB(255,0,0)
end constructor

screen 17,32

Dim test as TestType = TestType(200,200)
draw string test, (80,80), "Hallo Welt!", RGB(255,255,255)
put (40,40), test
sleep


Es sollte ja eigentlich denkbar sein, das der operator CAST in TestType den richtigen Pointer zurückgibt.
Das klappt aber immer noch nicht, also MUSS ich schreiben:

Code:

Type TestType
    public:
        declare operator cast() as any ptr
        declare constructor(width1 as integer, height1 as integer)
        image_pointer as any ptr
end type

operator TestType.Cast() as any ptr
    return image_pointer
end operator

constructor TestType(width1 as integer, height1 as integer)
    image_pointer = imagecreate(width1,height1,RGB(0,255,0))
    line image_pointer, (0,0)-(width1, height1),RGB(255,0,0)
    line image_pointer, (0,height1)-(width1, 0),RGB(255,0,0)
end constructor

screen 17,32

Dim test as TestType = TestType(200,200)
draw string test.image_pointer, (80,80), "Hallo Welt!", RGB(255,255,255)
put (40,40), test.image_pointer
sleep


Ein Funktor könnte das auch realisieren.. Aber davon spricht ja leider hier keiner happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 28.07.2010, 19:52    Titel: Antworten mit Zitat

Ich glaube nicht, dass CAST hier der richtige Operator zum Überladen ist. Keine Ahnung ... hast du mal eine Überladung von LET versucht?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
micha



Anmeldungsdatum: 09.12.2005
Beiträge: 72

BeitragVerfasst am: 28.07.2010, 20:33    Titel: Antworten mit Zitat

Herr D
schön das Sie sich um 3:00 Uhr nachts nie in Ihrter Wortwahl irren
und Danke für Ihren Hinweis.

Nicht "klassifiziert" war gemeint

z.B.
#define NULL cptr(ANY PTR, 0)

Also das Gegenteil von z.B.
#define NULL cptr(BYTE PTR, 0)

Zürück zum Thema:
Ein "typenloser" Pointer sollte nicht bei Pointer Berechnungen
als Byte/uByte Pointer angesehen werden weil er es nun mal nicht ist.

Mit anderen Worten pInteger+=3 erhöt die Addresse um 12
aber pAny+=3 kann der Kompiler als "warning" vermerken
weil nicht definiert ist was mit 3 gemeint ist (byte,word,int, ...)

Mit freundlichen Grüßen

Micha
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz