Endlich ist es soweit, nach langem Testen und Bugfixen ist es nun da: PureBasic 4.30 final.
Wie üblich verfügbar für registrierte User im Download Account: http://www.purebasic.com/securedownload ... anguage=DE
Neben vielen anderen Dingen sind die wichtigsten Neuerungen:
- PureBasic 64bit für Windows
- PureBasic x86 für Mac OSX
- Ogre update und neue 3D Befehle
Liste der Neuerungen:
16. Dezember 2008 : Version 4.30
- Hinzugefügt: Vollständige 64 Bit Version von PureBasic (Windows)
- Hinzugefügt: MacOS X x86 Unterstützung
- Hinzugefügt: 'JPEG 2000' Bibliothek
- Hinzugefügt: 'Node' Bibliothek
- Hinzugefügt: 'Gadget3D' Bibliothek
- Hinzugefügt: 'Window3D' Bibliothek
- Hinzugefügt: 'Sound3D' Bibliothek
- Hinzugefügt: Vollständige Unicode-Unterstützung bei der Engine3D
- Hinzugefügt: MacOS X Unterstützung für die Engine3D
- Hinzugefügt: Absolute/relative Rotation bei allen Engine3D Rotate-Befehlen
- Hinzugefügt: Absolute Bewegung beim Engine3D physischen Körper
- Hinzugefügt: EntityID(), EntityLookAt()
- Hinzugefügt: CameraProjectionX(), CameraProjectionY(), WorldDebug(), Sun()
- Hinzugefügt: MousePick(), PointPick(), PickX/Y/Z(), CreateWater(), AntialiasingMode()
- Hinzugefügt: CatchModule(), ArraySize(), WindowBounds(), DesktopX(), DesktopY()
- Hinzugefügt: FinishDatabaseQuery(), DatabaseID()
- Hinzugefügt: CreateSemaphore(), FreeSemaphore(), SignalSemaphore(), WaitSemaphore(), TrySemaphore()
- Hinzugefügt: '.i' nativer Typ als 32/64 Bit Ganzzahlen-Größe
- Hinzugefügt: Read/WriteInteger(), Read/WritePreferenceInteger(), PeekI(), PokeI()
- Hinzugefügt: Sprachen-Unterstützung (Lokalisierung) beim Compiler und Debugger
- Hinzugefügt: Stil-Parameter bei FontRequester()
- Hinzugefügt: Unterstützung für 'And/Or' in CompilerIf Bedingungen
- Hinzugefügt: #PB_Event_MinimizeWindow, #PB_Event_MaximizeWindow, #PB_Event_RestoreWindow
- Hinzugefügt: #PB_Ignore Unterstützung bei AddStatusBarField()
- Hinzugefügt: #PB_Explorer_DisplayMode beim ExplorerListGadget()
- Hinzugefügt: Unterstützung für mehrere Joysticks
- Hinzugefügt: #PB_Compiler_FilePath Compiler-Konstante
- Verbessert: größere Überarbeitung der OnError Bibliothek (cross-plattform)
- Verbessert: InitScintilla(), Parameter ist jetzt optional
- Verbessert: Vollständige Neuprogrammierung des Debuggers zwecks Unterstützung der neuen Plattformen
- Optimized: XML Bibliothek zum schnellen Verarbeiten sehr großer Dateien
- Optimized: LinkedList Bibliothek zwecks effizienterer Verwendung des Speichers
- Geändert: 'Read' Schlüsselwort benötigt jetzt einen Typ (Read.l, Read.q, etc.), um Probleme mit der 64 Bit Migration zu
vermeiden
- Geändert: CountList() in ListSize()
- Geändert: ClearGadgetItemList() in ClearGadgetItems()
- Geändert: CameraProjection() in CameraProjectionMode()
- Geändert: AddElement() und entsprechende Befehle geben jetzt einen Zeiger auf den Start der Daten zurück
- Geändert: ComboBoxGadget() Höhe ist jetzt die tatsächliche Gadget-Höhe
- Geändert: #Long, #Byte, #Word etc. in #PB_Long, #PB_Byte, #PB_Word etc. zwecks Konsistenz
- Geändert: RotateEntity(), RotateCamera() und RotateBillboard() x,y Rotations-Achsen
- Geändert: CameraFOV() Winkel von Bogenmaß in Grad
- Geändert: Array und LinkedList parameter in Prozeduren benötigen nun das 'Array' oder 'List' Schlüsselwort
- Entfernt: StrQ(), HexQ(), BinQ(), ValQ()
- Entfernt: ChangeListIconDisplay(), ersetzt durch ein Gadget-Attribut
- Entfernt: ButtonImageGadget() Rückwärts-Kompatibilität
- Entfernt: CreateGadgetList(), erfolgt jetzt bei OpenWindow() automatisch
- Entfernt: CopyTexture(), TextureOutput()
- Entfernt: CPU-Monitor aus der IDE entfernt, da alle OS die gleiche Funktionalität bieten
- Repariert: DX9 Subsystem auf Windows
- Repariert: Viele Fehler des Compilers und der Bibliotheken
Wichtig:
Es gibt eine weitere inkompatible Änderung seit Beta5:
Um eine Prozedur mit einem Array oder LinkedList Parameter zu deklarieren muss jetzt das 'Array' oder 'List' Schlüsselwort mit angegeben werden. Diese Änderung ist notwendig um die Implementierung zukünftiger Features einfacher/sinnvoller zu gestalten. Wir haben uns entschieden diese Änderung lieber jetzt zu machen während sich so viele Dinge ändern als später wenn das dann die einzige inkompatible Änderung wäre. (Es sollte leicht sein den Code anzupassen, da der Compiler bei der alten Syntax meckern wird.)
Die neue Syntax ist:
Code: Alles auswählen
Procedure Test(Array MyArray(1), List MyList())
; ...
EndProcedure
Wir wünschen allen Usern schonmal fröhliche Weihnachten und viel Spaß und Produktivität mit der neuen Version. Und falls noch jemand ein Geschenk suchen sollte, das Bestellen online geht sehr schnell und kommt auch garantiert rechtzeitig zum Fest.
Das PureBasic Team
p.s.
Wir hatten versucht das Release am Montag zu machen, aber da waren noch ein paar Bugs die gestöhrt haben, und das ist dann doch etwas wichtiger als die Tradition