Version History
Diese Seite enthält alle Verbesserungen, die seit dem Release von PureBasic dazugekommen sind. Jedes Update war für alle registrierten Nutzer völlig kostenlos, und so wird es auch in Zukunft sein.
23. Mai 2008 PureBasic V4.20 (alle OS)
- Hinzugefügt: Mail Library
- Hinzugefügt: Ftp Library
- Hinzugefügt: RegularExpression Library
- Hinzugefügt: Http Library
- Hinzugefügt: SerialPort Library
- Hinzugefügt: FLAC Library
- Hinzugefügt: SQLite Library
- Hinzugefügt: DirectX 9 Subsystem
- Hinzugefügt: Sound Streaming für OGG und FLAC
- Hinzugefügt: #PB_Sound_MultiChannel Unterstützung für die Sound Library
- Hinzugefügt: CreateImageMenu(), CreatePopupImageMenu(), SHA1FingerPrint(), SHA1FileFingerPrint()
- Hinzugefügt: CRC32FileFingerprint(), ExamineMD5FingerPrint(), ExamineSHA1FingerPrint()
- Hinzugefügt: NextFingerPrint(), FinishFingerPrint(), IsFingerPrint()
- Hinzugefügt: Hexadezimal- und Binärunterstützung für Val() und ValQ()
- Hinzugefügt: #PB_Compiler_Procedure Compiler Konstante
- Hinzugefügt: #PB_Round_Nearest für Round()
- Hinzugefügt: 'XOr' Unterstützung für 2DDrawing unter MacOS X
- Hinzugefügt: Neues Tool zur Programmanalyse im Debugger Menu - um zu beobachten, wie oft Zeilen ausgeführt werden
- Hinzugefügt: Der Debugger kann jetzt Ausdrücke auswerten (siehe Ausgabefenster des Debuggers)
- Hinzugefügt: Der Speicheranzeiger kann Ausdrücke als Start-/Endadresse annehmen
- Hinzugefügt: Ein "+" vor die Endadresse im Speicheranzeiger macht die Endadresse relativ zur Startadresse
- Hinzugefügt: Platzieren des Cursors über einer Variable im Code zeigt deren Wert an, während das Programm läuft
- Hinzugefügt: Auswählen eines komplexeren Ausdrucks und Platzieren des Cursors darüber wertet den Ausdruck aus und zeigt dessen Wert, wenn das Programm läuft
- Geändert: Der letzte Parameter von Mid() ist jetzt optional
- Optimiert: Geschwindigkeit des Compilers beim verarbeiten des Codes (bis zu 8x schneller)
- Optimiert: Alle Befehle profitieren vom Verwenden eines besseren C Compilers (nur unter Windows)
- Repariert: Viele Bugs im Compiler und den Bibliotheken
09. November 2007 PureBasic V4.10 (alle OS)
- Hinzugefügt: XML library
- Hinzugefügt: Drag & Drop library
- Hinzugefügt: Vista Kompatibilität (voll kompatibel mit UAC), außer bei der Sprite Library (geplant für 4.20)
- Hinzugefügt: ModPlug Unterstützung für das Abspielen von Modulen (MIDAS entfernt)
- Hinzugefügt: ScintillaGadget(), TruncateFile()
- Hinzugefügt: EnableASM und DisableASM Compiler Direktiven
- Hinzugefügt: #PB_OS_Windows_Vista und #PB_OS_Windows_Server_2008 bei OSVersion()
- Hinzugefügt: Viele neue Features beim WebGadget()
- Hinzugefügt: Viele neue kleine Verbesserungen bei der IDE (neues Compiler Kommunikations-Protokoll, Vista fähig, Klammer-Markierung, schnelleres Einfärben etc.)
- Hinzugefügt: synchronisierte Veröffentlichung von Windows, Linux und MacOS X!
- Geändert: InitDatabase() in UseODBCDatabase()
- Geändert: Auf Windows werden die Einstellungen der IDE und der PB-Werkzeuge jetzt im Anwender "applicationdata" (Anwenderdaten) Ordner gespeichert
- Entfernt: Das SmartUpdate Tool wird in Zukunft nicht mehr unterstützt
- Repariert: viele Bugs bei den Befehlen und im Compiler
8. Mai 2006: PureBasic v4.00 (Windows)
- Hinzugefügt: Native Unicode-Unterstützung
- Hinzugefügt: Unterstützung von Subsystems
- Hinzugefügt: Unbegrenzte Länge von Strings, sowohl im ASCII- als auch Unicode-Modus
- Hinzugefügt: Threadsicheres Befehlsset und Strings
- Hinzugefügt: Character Typ (.c)
- Hinzugefügt: Double Typ (.d)
- Hinzugefügt: Quad Typ (.q)
- Hinzugefügt: 'XOr' und 'Not' logische Operatoren
- Hinzugefügt: Fixed String Typ (String${#Anzahl})
- Hinzugefügt: Macro/EndMacro - einfacher und komplexer Modus
- Hinzugefügt: With/EndWith für saubereren Code
- Hinzugefügt: Möglichkeit der Zuweisung bei Static (ziemlich unbedeutend), Protected und Global: "Global a = 5"
- Hinzugefügt: Es ist jetzt möglich, eine verknüpfte Liste von Zeigern zu erstellen
- Hinzugefügt: Unterstützung für Global, Protected, Static und Shared Arrays und verknüpfte Listen: "Global NewList MyList.l()". NewList allein macht die Liste nicht mehr global.
- Hinzugefügt: #PB_Compiler_File, #PB_Compiler_Line, #PB_Compiler_Version, #PB_Compiler_Home, #PB_Compiler_Debugger, #PB_Compiler_ThreadSafe, #PB_Compiler_Unicode
- Hinzugefügt: CompilerError "Message" Direktive
- Hinzugefügt: @procedure()und ?Label Unterstützung in Data.l Direktiven
- Hinzugefügt: Optionale Parameter für Prozeduren, Interface Methoden und Prototypes
- Hinzugefügt: /CONSTANT Test=Wert Switch zum Deklarieren von Konstanten auf der Compilerzeile
- Hinzugefügt: Swap Schlüsselwort zum schnellen Tauschen von 2 Variablen oder Elementen (Swap a,b).
- Hinzugefügt: Mehrfaches 'Case' für Select/EndSelect: Case 1, 2, 6 To 20
- Hinzugefügt: 'Prototype' Schlüsselwort zum einfachen Deklarieren von Funkionszeigern
- Hinzugefügt: 'ProcedureC' Schlüsselwort zum einfachen Deklarieren von cdecl Prozeduren
- Hinzugefügt: Procedure Parameter können jetzt den gleichen Namen wie eine globale Variable haben (werden automatisch geschützt)
- Hinzugefügt: EnableExplicit/DisableExplicit: Variablen müssen mittels Define, Global, Protected, Shared oder Static deklariert werden.
- Hinzugefügt: Defined(Name, Typ) Compiler-Funktion. Typ kann sein #PB_Constant, #PB_Variable, #PB_Array, #PB_LinkedList, #PB_Structure, #PB_Interface
- Hinzugefügt: ReDim für einfache und mehrdimensionale Arrays
- Hinzugefügt: Import/ImportC/EndImport zum Importieren von Funktionen und Variablen von externen .lib
- Hinzugefügt: Verknüpfte Listen und Arrays können jetzt als Prozedur-Parameter übergeben werden.
- Hinzugefügt: /LINKER Flags zum Übergeben einer Befehlsdatei direkt an den Linker
- Hinzugefügt: PseudoTypes: p-ascii, p-unicode, p-variant, p-utf8 und p-bstr
- Hinzugefügt: Assembler und Linker Fehler beim CLI-compiler werden jetzt direkt angezeigt
- Hinzugefügt: OpenGL Subsystem für Multimedia-Applikationen (kann mit dem für NT4 kombiniert werden)
- Hinzugefügt: Vollständige Alphakanal-Unterstützung für die Sprite3D Library (über PNG und TIFF)
- Hinzugefügt: Subsystem() Compiler-Direktive zur Überprüfung, ob ein Subsystem in Benutzung ist.
- Hinzugefügt: Exponenten-Form für Fließkomma-Konstanten: 123.5e-20
- Hinzugefügt: Aliasnamen für lokale Variablen werden bei der Verwendung von "raw" Assembler ('!') generiert, für einfacheres Verweisen darauf (in der Form p.v_variable)
- Hinzugefügt: 'Step over' und 'Step out' Features beim Debugger
- Hinzugefügt: Process Library
- Aktualisiert: NT4 Unterstützung erfolgt jetzt durch Verwendung eines Subsystems (DirectX 3)
- Aktualisiert: Resident-Dateien unterstützen jetzt Quad, Double, Macros und Prototypes
- Aktualisiert: Viele Library Befehle
- Aktualisiert: OGRE Engine Update auf die 1.0.7 Version
- Aktualisiert: Die französische Dokumentation wurde stark verbessert.
- Aktualisiert: File Library unterstützt 64 Bit Dateien
- Optimiert: Kleinerer Executable-Footprint: 1,5 KB anstelle von 2,5 KB
- Optimiert: Schnelleres Mischen von numerischen Fließkomma und Literalen
- Optimiert: File Library komplett neu geschrieben und verwaltet jetzt einen Lese-/Schreib-Cache für sehr schnelle Performance.
- Optimiert: Prozeduren sind jetzt so klein wie möglich, was etwas Geschwindigkeitszuwachs geben sollte.
- Geändert: Console Library Befehle können jetzt vollständig umgeleitet werden (z.B. für CGI)
- Geändert: Wenn ein numerischer Parameter erwartet wird, ist es nicht mehr möglich, einen String zu übergeben.
- Geändert: Temporäre purebasic.exe Namen sind nicht mehr zufällig, da dies zu einer Verlangsamung mit einigen Firewalls führte.
- Geändert: 'DefType' umbenannt in 'Define'
- Repariert: Interne System-Funktionen zerstören nicht mehr reservierte Register.
- Repariert: Die Maus wird im "Windowed Modus" automatisch freigegeben, wenn das Fenster den Fokus verliert.
- Repariert: KeyboardInkey() behandelt jetzt Shift/Alt Änderungen korrekt.
- Repariert: IsScreenActive() arbeitet auch für den "Windowed Modus" korrekt.
- Repariert: Viele kleine/mittlere Angelegenheiten, die seit der letzten Version aufgetreten sind.
5. Oktober 2005: PureBasic v3.94 (MacOS X)
- Eingebaute native IDE und Debugger (eigenständig oder Konsole).
- Native OS X Unterstützung für GUI (Carbon), Sprites (OpenGL), Sounds und Movies (QuickTime).
- Sehr schnelle PowerPC Assembler Code-Generierung, dadurch ausgezeichnete Leistung und reduzierte
Executable-Größe.
- Eingebaute OS X API Unterstützung (derzeit nur einige Funktionen).
- IDE und Debugger sind vollständig in PureBasic geschrieben, was die Portierbarkeit zwischen OS X, Windows und Linux beweist.
- Der größte Teil des PureBasic-Befehlssets wird unterstützt.
21. September 2005: PureBasic v3.94 (Linux)
- Hinzugefügt: Brandneue IDE für GTK1.2 und GTK2!
- Hinzugefügt: Mächtiger integrierter, eigenständiger und Konsolen-Debugger!
- Hinzugefügt: SoundPlugin und SoudPluginOGG Libraries
- Hinzugefügt: FillArea() Support sowohl für SDL als auch GTK
- Hinzugefügt: DrawingMode() Support für SDL (außer XOR)
- Hinzugefügt: #PB_ToolBar_Toggle, Get/SetToolBarButtonState()
- Hinzugefügt: Gleicher Zeichensatz wie Windows für die SDL Drawing-Befehle
- Hinzugefügt: DrawingImage() und Point() Support für GTK
- Hinzugefügt: DrawingImage() für SDL, einschließlich Zoom-Support
- Hinzugefügt: CallCFunction() und CallCFunctionFast()
- Hinzugefügt: Get/SetGadgetAttribute() Support für das ScrollAreaGadget()
- Hinzugefügt: ContainerGadget() Flags für 'Border' Support
- Hinzugefügt: #PB_Event_ActivateWindow
- Hinzugefügt: #PB_Splitter_First/SecondMinimumSize Support
- Hinzugefügt: #PB_Splitter_First/SecondFixed Support
- Hinzugefügt: CountTreeGadgetNodeItems() Support
- Hinzugefügt: Optionaler 'Position' Parameter für OpenTreeGadgetNode()
- Hinzugefügt: Optionaler 'Color' Parameter für ColorRequester()
- Hinzugefügt: PNG-Transparenz Support für Images (für Toolbar und Gadgets)
- Hinzugefügt: ParentID Support für OpenWindow()
- Geändert: *Warnung* CallFunction/Fast() ist nicht mehr CDecl-kompatibel (stattdessen CallCFunction)
- Optimiert: SDL und GTK 'Shared Libraries' werden nur noch bei Verwendung hinzugelinkt
- Optimiert: 2DDrawing ist kleiner und schneller
- Optimiert: ListViewGadget() komplett neu programmiert, um besser skalierbar zu sein
- Repariert: Zeichensatz-Management für GTK2 wurde überarbeitet
- Repariert: CallFunction() und CallFunctionFast akzeptierten nur 11 Argumente
- Repariert: Circle() und Ellipse() waren nicht richtig zentriert
- Repariert: GrabImage() und CopyImage() konnten bei einer ID > 9 fehlschlagen
- Repariert: RunProgram() beendete das Programm, wenn die Datei nicht gefunden wurde
- Repariert: PopupMenu() gab WindowEventID() nicht korrekt zurück
- Repariert: SetGadgetState() mit ListViewGadget() scrollte nicht
- Repariert: Mehrfacher Aufruf von CreateToolBar() konnte zu einem Abstutz führen
- Repariert: TrackBarGadget() Bug unter GTK2
- Repariert: Image-Probleme auf 16 Bit-Desktops
- Repariert: Refresh-Problem mit SetGadgetState() und ButtonImageGadget()
- Repariert: RemoveGadgetItem() arbeitete nicht mit ListIconGadget()
- Repariert: DesktopDepth() funktionierte nicht
- Repariert: EditorGadget() unterstützte kein Get/SetGadgetItemText(), CountGadgetItems(), ClearGadgetItemList()
- Repariert: Menü-Shortcuts gaben keine Ereignisse zurück
- Repariert: MenuItem() gab bei Verwendung eines falschen Kürzels eine GTK-Warnung aus
- Repariert: EventType() arbeitete nicht bei ListViewGadget()
- Repariert: Input() gab nur ein Zeichen zurück
- Repariert: ClipSprite() arbeitete nicht richtig
- Repariert: CatchSound() hatte nicht den optionalen Parameter
- Repariert: ReceiveNetworkFile() funktionierte nicht
- Repariert: NetworkServerEvent() sendete kein 'Verbindungsabbruch' Ereignis
- Repariert: userlibraries\ Verzeichnis funktionierte nicht
- Repariert: Pfeile werden jetzt angezeigt, wenn zu viele Panels vorhanden sind
- Repariert: Images verschwanden im TreeGadget()
- Repariert: #PB_Event_SizeWindow Ereignis ging manchmal verloren
16. August 2005: PureBasic V3.94 (Windows)
- Hinzugefügt: Brandneue IDE und 3 Debugger (!)
- Hinzugefügt: Support für Ressourcen-Dateien beim Compiler und der IDE (/RESOURCE Compiler-Switch)
- Hinzugefügt: Unterstützung der Versionsangabe bei Executables und DLL (mittels Ressourcen)
- Hinzugefügt: Unterstützung für das #PB_Event_ActivateWindow Ereignis
- Hinzugefügt: #PB_Web_Mozilla Flag, um das Mozilla ActiveX beim WebGadget() zu nutzen
- Hinzugefügt: GetToolBarButtonState() und SetToolBarButtonState()
- Hinzugefügt: Vollständige Dokumentation für IDE und den Debugger
- Repariert: 32x32 Bitmaps im ListIconGadget() im Anzeigemodus für große Icons
- Repariert: OpenScreen()/CloseScreen() konnte fehlschlagen, wenn sprite3D verwendet wurde
- Repariert: MovieLength() und MovieInfo() arbeiteten unkorrekt mit dem WMV-Format (danke an Traumatic ;-))
- Repariert: ToolBar Deaktivieren-Bug, wenn Images und Icons mit XP-Skins gemischt wurden
- Repariert: Möglichen Absturz beim Schließen eines Fensters mit freigegebener Statusleiste oder ToolBar
- Repariert: ImageGadget() und ButtonImageGadget() konnten nicht mit AnimateWindow_() verwendet werden
- Repariert: ImageGadget() Bug bei der Verwendung von DisableGadget()
- Repariert: LineXY() gab den Speicher nicht richtig frei
- Repariert: Line() und LineXY() beeinflussten die DrawText() Position
- Repariert: SortList() konnte bei großen, bereits sortierten Listen abstürzen
- Repariert: SetMenuItemState() änderte nicht die Deaktivieren-Status
- Repariert: Mit #PB_Any erstellte editierbare Combobox behandelte TAB nicht korrekt
- Repariert: OpenFileRequester() schlug fehl, wenn der Standard-Dateiname nicht korrekt war
- Repariert: Compiler-Bug bei String-Verkettung und Prozeduren
- Repariert: Abgleichproblem in Prozeduren, was unter Umständen zum Fehlschlagen von API-Aufrufen führte
28. Februar 2005: PureBasic V3.93 (Windows)
- Hinzugefügt: SortStructuredArray(), SortList(), SortStructuredList()
- Hinzugefügt: bedingte Anweisungen beim LibraryMaker
- Hinzugefügt: KeyboardMode() (war nicht in der Anleitung)
- Hinzugefügt: Optionaler 'Farbe' Parameter bei ColorRequester() und FontRequester()
- Hinzugefügt: SetGadgetText() kann jetzt bei einem editierbaren ComboBoxGadget() verwendet werden
- Hinzugefügt: #PB_Default Support bei ClipSprite() zum Entfernen des Clippings
- Hinzugefügt: #PB_FileSystem_Force bei CopyDirectory()
- Hinzugefügt: #PB_OS_Windows_Server_2003 Support bei OSVersion()
- Hinzugefügt: Base64Decoder(), GetGadgetFont()
- Hinzugefügt: ResizeImage() unterstützt jetzt einen 'Modus' Parameter zur Auswahl des Größenänderungs-Algorithmus
- Hinzugefügt: Ereignis beim Verschieben oder Redimensionieren eines Splitters, wodurch die 'Childs' jetzt angepasst werden können
- Hinzugefügt: Echtzeit-Debugger-Check für Plot(x,y,Farbe) bei ScreenOutput() und SpriteOutput()
- Hinzugefügt: Debugger-Check bei DirectoryEntrySize/Name/Attributes()
- Hinzugefügt: IDE-Verbesserungen von Tinman
- Aktualisiert: Interface-Importer und DirectX9 Interfaces in den Residents (danke an Traumatic!)
- Aktualisiert: Verwendung von Kale's Icons für die IDE
- Aktualisiert: Französische Dokumentation mittels trasfract auf Rechtschreibfehler kontrolliert und überarbeitet
- Optimiert: Debugger-Modus ist kleiner und ermöglicht große strukturierte Variablen
- Optimiert: Misc Library aufgesplittet
- Optimiert: Schnellere Base64Encoder() Funktion
- Optimiert: Verbesserte Code-Generierung für Zuweisung und Verkettung von Strings
- Geändert: OffsetOf() Syntax, um zum SizeOf() zu passen (einheitlicher als vorher)
- Repariert: Ein Bug beim ImageGadget() mit aktiviertem XP-Skin und 32 Bit-Bitmaps
- Repariert: ExplorerListGadget() stellte .ico und .lnk Dateien nicht korrekt dar
- Repariert: ButtonImageGadget() verlor sein Bild unter manch seltenen Umständen mit XP-Skins
- Repariert: Kein 'Ding' (windows-Sound) mehr beim Klick auf den Vollbildschirm, wenn ExamineMouse() nicht verwendet wurde
- Repariert: Bei Verwendung von ALT+TAB bei einer Vollbildschirm-Anwendung wird das Icon korrekt dargestellt
- Repariert: Sprites werden jetzt korrekt wiederhergestellt, nach dem Zurückschalten vom Multitasking
- Repariert: CopyDirectory() modifizierte den Eingabestring unter manchen Umständen
- Repariert: ListIndex() war fehlerhaft unter manch seltenen Umständen
- Repariert: RemoveString() und CRC32FingerPrint() konnten nicht in Ausdrücken verwendet werden
- Repariert: SetGadgetItemText() war fehlerhaft in Verbindung mit dem ListView() Gadget
- Repariert: ExamineDirectory() mit einer nicht initialisierten String-Variable
- Repariert: CalendarGadget() Bug, wenn mehrere Kalender auf dem gleichen Fenster initialisiert wurden
- Repariert: RSet() gab in manch seltenen Situationen ein falsches Ergebnis zurück
- Repariert: CreateFile() schlug fehl bei versteckten Dateien
- Repariert: ZeroMemory_(), FillMemory_(), MoveMemory_() und CopyMemory_() wurden nicht erkannt
- Repariert: #PB_Event_MoveWindow wird jetzt korrekt erkannt
- Repariert: #PB_EventType_LostFocus wurde nicht gesendet, wenn 2 StringGadgets nebeneinander platziert waren.
- Repariert: Gadget's Tooltips wurden auf NT4 nicht korrekt dargestellt, wenn das Fenster immer obenauf war
- Repariert: OGG-Plugin funktionierte nicht mehr und manchmal wurden Songs abgeschnitten. Es ist jetzt auch schneller beim Dekodieren.
- Repariert: ResizeImage() verändert jetzt das Bild nicht mehr, wenn die gleichen Dimensionen verwendet werden.
- Repariert: TAB in einem EditorGadget() gibt den Fokus nicht mehr an andere Gadgets, sondern fügt ein TAB ein.
- Repariert: LCase() behandelte das deutsche Zeichen 'ß' nicht korrekt
- Repariert: SetGadgetState() arbeitete nicht korrekt beim OptionGadget()
- Repariert: Die Dimensionen der Codeanzeige vom Debugger werden jetzt gespeichert wie bei den anderen Debugger-Fenstern.
- Repariert: EditorGadget() bei der Verwendung von AddGadgetItem() mit leeren Strings und der -1 Position
- Repariert: SortArray() konnte bei großen und bereits sortierten Arrays abstürzen und jetzt auch thread-sicher
- Repariert: ReceiveNetworkFile() behandelte lange Dateinamen nicht korrekt
- Repariert: Darstellungsfehler bei ButtonImageGadget() und Toggle-Modus (mittels API)
- Repariert: SpriteWidth() und SpriteHeight() gaben falsche Werte zurück, wenn ClipSprite() verwendet wurde
- Repariert: MessageRequester() über einem Konsolenfenster schickte das Fenster in den Hintergrund
- Repariert: SetGadgetState() beim ListIconGadget() stahl den aktuellen Fokus
- Repariert: Base64Encoder() erzeugte manchmal eine falsche Ausgabe
- Repariert: Refresh-Probleme beim Frame3DGadget() mit #PB_Frame3D_Single/Double Flags
- Repariert: GDI-Ressourcen Leck beim ButtonImageGadget() und ImageGadget()
- Repariert: RotateSprite3D verwendete einen falschen Winkel
- Repariert: DisableMenuItem() arbeitete nicht mit #PB_Any
- Repariert: GadgetWidth() funktionierte nicht korrekt beim SpinGadget()
- Repariert: Date() gab ein falsches Ergebnis im Falle von 1970,1,1,0,0,0 zurück
- Repariert: CallFunctionFast() akzeptierte nur 17 Parameter anstelle von 20
- Repariert: OpenWindowedScreen() im AutoStretch-Modus verlor einige Pixel
- Repariert: Einige Refresh-Bugs beim PanelGadget()
- Repariert: Fehler bei transparenten Farben und 32 Bit-Screens sowie 'Texture' Sprites
- Repariert: Einige kleine Bugs in der IDE
- Repariert: Einige Compiler-Bugs (String-Verkettung, Interfaces in Prozeduren)
25. Oktober 2004: PureBasic V3.92 (Windows)
- Hinzugefügt: CalendarGadget() und DateGadget() (Danke an Fr34k)
- Hinzugefügt: LibraryID(), SwapElements()
- Hinzugefügt: SaveSprite() hat jetzt einen optionalen 'Flags' Parameter und kann jetzt 8 Bit-Sprites/Screens speichern
- Hinzugefügt: Doppelklick auf den Fenster-Hintergrund generiert jetzt ein Ereignis (Danke an Rings)
- Optimiert: ListCount() und ListIndex() sind jetzt sehr schnell (sie durchlaufen jetzt nicht mehr jedes Element der Liste).
- Geändert: DeleteElement() geht jetzt immer zurück zum vorherigen Element (kann damit außerhalb der Liste liegen, wenn es das erste Element war), um voll kompatibel mit ForEach zu sein. Ein
optionaler Flag wurde hinzugefügt, um die bisherige Verhaltensweise weiterhin zu ermöglichen.
- Geändert: Das aktuelle Verzeichnis der Anwendung wird von keinem der PureBasic-Befehle mehr berührt,
um den Windows-Regeln zu entsprechen.
- Repariert: CloseWindow() Bug beim Verwenden des 'ParentWindow' OpenWindow() Parameters
- Repariert: IsSound() war nicht verfügbar im NT4 Modus
- Repariert: AddDate() konnte fehlschlagen, abhängig von der eingestellten Zeitzone des Computers.
- Repariert: Speicherleck mit verknüpften Listen, Arrays und lokalen Variablen, wenn eine Struktur verwendet wurde, die Strings enthielt.
- Repariert: SaveSprite() Standardwert für das Speichern von JPEG ist jetzt '7'.
- Repariert: DisplayPalette() schlug fehl auf XP-Systemen (erste und letzte Farbe blieb unverändert)
- Repariert: ImageGadget() unterstützt jetzt ToolTips und Bitmap/Icon "Live" Umschaltung
- Repariert: ImageButtonGadget() unterstützt jetzt "Skinning" und Bitmap/Icon "Live" Umschaltung
- Repariert: SetGadgetItemText() beim ListViewGadget() zerstörte die "Item-User-Daten"
- Repariert: CopyImage() schlug auf WinNT4 in einigen Konstellationen fehl
- Repariert: Ein Speicherleck in SendNetworkFile(). Es wird jetzt 1 bei Erfolg und 0 bei einem Fehler zurückgegeben.
- Repariert: StatusBarText() aktualisierte nicht die Statusleiste bei gesetztem 'Borderless' Flag
- Repariert: CatchImage() mit #PB_Any
- Repariert: der PNG-Decoder kann jetzt auch sicher mit korrupten PNG umgehen
- Repariert: der JPEG-Encoder mit Qualitätswerten kleiner als 3 konnte zu einem Crash führen
- Repariert: Packer Kompressionsroutine hatte Probleme mit manchen Dateien
- Repariert: OnError Library konnte nicht in DLL's verwendet werden (Danke an Rings)
- Repariert: ein kleiner TreeGadget() Bug, wenn Häkchen-Boxen aktiviert waren
- Repariert: die String-Verkettung war unter manchen Umständen falsch
- Repariert: der Compiler gab keinen Exit-Code ungleich null zurück, wenn ein Fehler auftrat
- Repariert: mehrere Compiler Bugs
4. Juli 2004: PureBasic V3.91 (Windows)
- Hinzugefügt: Desktop Library
- Hinzugefügt: IsDatabase(), IsFile(), IsFont(), IsDirectory(), IsGadget(), IsImage(), IsLibrary(),
IsMenu(), IsModule(), IsMovie(), IsPalette(), IsSprite(), IsSprite3D(), IsStatusBar(),
IsSysTrayIcon(), IsToolBar(), IsWindow()
- Manifest-Datei (für XP Skins) wird jetzt in die Exe eingebunden
- LCC Ressourcen-Compiler und Linker wurden gegen PellesC ausgetauscht
- Hinzugefügt: 'Haupt-Source' Support in der IDE für Multi-Datei Projekte
- Hinzugefügt: Debugger-Überprüfung für Zugriff auf leere Listenelemente
- Geändert: WindowMouseX() und WindowMouseY() geben jetzt die Koordinaten innerhalb des
Fenster-Clientbereichs zurück (DesktopMouseX() ersetzt das alte Verhalten).
- Repariert: AddDate() Bug
- Repariert: MDIGadget-Größenänderung, nachdem eine StatusBar nach der MDI-Erstellung hinzugefügt
wurde
- Repariert: InputPathRequester() welcher unter einigen Umständen auf Win98 zu einem Crash führte
- Repariert: OpenWindowedScreen() Position, wenn dieser Bildschirm in ContainerGadgets verwendet wurde
- Repariert: Trim() in Ausdrücken
- Repariert: ein Crash, der manchmal am Ende des Programms auftrat, wenn OpenHelp() benutzt wurde
- Repariert: ein Bug in PlayMovie(), welcher das Movie auf einigen Konfigurationen versteckte
- Repariert: Compiler-Bug beim Zugriff auf ein tief verschachteltes Strukturen-Array
12. April 2004: PureBasic V3.90 (Windows)
- Hinzugefügt: #PB_Any Support (dynamische Nummerierung) für DataBase, File, Font, FileSystem,
Gadget, Image, Library, Module, Movie, Palette, Sprite, Sprite3D, SysTray, ToolBar,
StatusBar und Window
- Hinzugefügt: CountString(), KeyboardInkey(), GetWindowTitle(), SetWindowTitle(), ElapsedMilliseconds()
- Hinzugefügt: RemoveGadgetColumn(), SetGadgetAttribute(), GetGadgetAttribute()
- Hinzugefügt: SetGadgetItemAttribute(), GetGadgetItemAttribute()
- Hinzugefügt: MDIGadget() von Fr34k
- Hinzugefügt: VerticalBlank Support für FlipBuffers() (arbeitet ebenfalls im Fenstermodus 'Windowed')
- Hinzugefügt: 'Autosize' (automatische Größenanpassung) für StatusBar und ToolBar (ohne Callbacks)
- Hinzugefügt: Neuer 'Size-Handler' von Fr34k, welcher automatische (Echtzeit-) Größenanpassung von
Fenstern (mit #PB_Event_SizeWindow) ohne Callback ermöglicht!
- Hinzugefügt: Neuer optionaler 'z' Parameter bei TransformSprite3D()
- Hinzugefügt: Mehrere neue Flags beim SplitterGadget() für höhere Flexibilität
- Hinzugefügt: SetGadgetAttribute() Support für ScrollAreaGadget(), zum Anpassen des inneren Bereiches.
- Hinzugefügt: Joystick und Module Support für den NT4 Kompatibilitäts-Modus
- Hinzugefügt: Hexadezimale Anzeige, Löschen-Kopieren-Speichern der Debugger-Ausgabe und
Speicherung der Fensterposition des Debuggers
- Hinzugefügt: Unterstützung für Icons mit verschiedener Tiefe beim Standard Programm-Icon
- Hinzugefügt: IDE-Features: Interface-Anzeiger, neuer MS SDK Support, Suchen in Dateien,
Zeilennummerierung
- Hinzugefügt: 'Static' Schlüsselwort für lokale Variablen (in Prozeduren), welche ihren Wert behalten sollen
- Hinzugefügt: Aktuellste FAsm (Assembler) Version, welche eine kleine Geschwindigkeitsverbesserung
mitbringt und einen Bug bei großen Sourcecodes beseitigt
- Hinzugefügt: QuickHelp Support in der Purebasic IDE für die meisten der API Funktionen !
- Geändert: kein #MemoryID und Flag bei AllocateMemory() mehr
- Geändert: CDAudioName() benötigt keine ID mehr, wie bereits in der Anleitung geschrieben.
- Libraries CDAudio, Database, File, Network, StatusBar und Systray gesplittet
- Entfernt: UpdateStatusBar(), UseMemory(), MemoryID()
- Repariert: Französische Dokumentation ist jetzt absolut aktuell
- Repariert: NT4 (DirectX 3) Support für die Sprite, Palette, Sound, Keyboard und Mouse Libraries
- Repariert: Bug in CreateSprite3D(), die Breite und Höhe war 1 Pixel größer
- Repariert: Bug bei SpritePixelCollision(), wenn das gleiche Sprite für Kollisionen verwendet wurde.
- Repariert: Bug im Debugger unter Win98 (das Anwendungsfenster war im Hintergrund)
- Repariert: OpenWindowedScreen() beachtete nicht die Menü-Höhe (sofern vorhanden)
- Repariert: bei IsFilename() fehlten einige Checks
- Repariert: Einige Bugs im Ausdruck-Parser des Compilers
- Repariert: SizeOf() bei der Verwendung mit erweiterten Strukturen
- Repariert: NewPrinterPage() Bug auf Win98
- Repariert: CloseScreen() bei der Verwendung mit der Sprite3D Library
- Repariert: Einige Pfad-Probleme bei der Verwendung des Compilers im Konsolenmodus
- Repariert: Alle Requester blockieren ('lock') jetzt alle geöffneten Fenster
1. Januar 2004: PureBasic V3.81 (Linux)
- Hinzugefügt: Sort Library
- Hinzugefügt: Toolbar Library
- Hinzugefügt: StatusBar Library
- Hinzugefügt: Font Library
- Hinzugefügt: vollständiger 3D-Engine Support
- Hinzugefügt: $PUREBASIC_HOME Env Variable, zum Angeben des Installationspfades
- Hinzugefügt: ElapsedMilliseconds()
- Hinzugefügt: CatchSprite(), CreateSprite(), SpriteOutput() und ScreenOutput()
- Hinzugefügt: 2DDrawing Support für ScreenOutput() und SpriteOutput() mit sehr schnellem Direct-Videobuffer Zugriff
- Hinzugefügt: SplitterGadget(), ContainerGadget(), ScrollAreaGadget(), IPAddressGadget(), EditorGadget()
- Hinzugefügt: ScrollBarGadget(), SpinGadget(), TrackBarGadget(), HyperLinkGadget(), ExplorerListGadget()
- Hinzugefügt: GetGadgetItemState(), SetGadgetItemState(), GetGadgetItemText(), SetGadgetItemText()
- Hinzugefügt: BMP, JPEG, PNG, TIFF und TGA Decoder Support für LoadImage() und LoadSprite()
- Hinzugefügt: BMP, JPEG and PNG Encoder für SaveImage()
- Hinzugefügt: SaveImage(), CopyImage(), GrabImage()
- Hinzugefügt: CopySprite(), GrabSprite(), UseBuffer(), DisplayTranslucideSprite(), DisplayRGBFilter()
- Hinzugefügt: WindowID(#Window), WindowOutput()
- Hinzugefügt: PathRequester(), InputRequester()
- Hinzugefügt: DisableMenuItem(), GetMenuItemState(), SetMenuItemState(), MenuHeight()
- Hinzugefügt: CloseTreeGadgetNode(), UseGadgetList(), SetGadgetFont(), ButtonImageGadget()
- Hinzugefügt: DayOfYear(), SelectedFontStyle()
- Hinzugefügt: Support für XOR und ungefüllter Formen bei 2DDrawing
- Hinzugefügt: NextSelectedFileName()
- Hinzugefügt: StrU(), CopyFile()
- Hinzugefügt: Mustererkennung (Pattern-Matching) bei ExamineDirectory()
- Gadget Library gesplittet
- Sprite Library gesplittet
- Compiler aktualisiert auf v3.81 mit Enumeration, Interface, Modulo und mehr...
9. Dezember 2003: PureBasic V3.81 (Windows)
- Hinzugefügt: DatabaseUpdate(), DatabaseError()
- Hinzugefügt: Play/Stop/Resume/PauseMovie() Support für auf Sprites gerenderte Movies
- Hinzugefügt: 'Extends' Support für 'Structure'
- Hinzugefügt: Icon-Support und Echtzeit Image-'Resize' für DrawImage()
- Hinzugefügt: 2, 16 und 256 Farben BMP-Support für Catch/LoadSprite()
- Hinzugefügt: #PB_Default Support für DrawingFont()
- Hinzugefügt: Japanisch-Unterstützung für die Gadget Library, Editor und Visual Designer
- Hinzugefügt: Exzellentes SmartUpdate Tool von fr34k zum schnellen Updaten jeder PureBasic Version
- Hinzugefügt: Neueste Version des Visual Designers von Berikco
- Optimiert: ExplorerGadgets sind jetzt beim Einlesen von Verzeichnissen 5x schneller
- Geändert: Sprungmarken ("Labels") sind NICHT mehr "case-sensitive" (achten nicht auf Groß-/Kleinschreibung)
- Geändert: Standard-Qualität für SaveImage() und JPEG-Plugin ist jetzt '7'
- Geändert: InitModule() und InitPalette() benötigen die 'Maximum'-Parameter nicht mehr
- Geändert: Verhalten von PlayMovie() bei gerenderten Movies wurde geändert
- Repariert: ein Speicherleck bei auf Sprites gerenderten Movies
- Repariert: Requester-Befehle konnten andere Applikationen blockieren, wenn kein Fenster geöffnet war
- Repariert: einige Interface Definitionen waren in den Residents falsch
- Repariert: String-Konstanten mit mehreren Konstanten-Elementen
- Repariert: KeyboardReleased(#PB_Key_All) funktionierte nicht
- Repariert: Compiler-Bug mit Interface in Prozeduren und mit String-Rückgaben
- Repariert: ProcedureDLL Bug, wenn ein String als Rückgabetyp definiert war
- Repariert: CopySprite() arbeitete nicht mit Alpha-Sprites
- Repariert: Bug im Compiler-Optimierer mit Bytes und Words in einigen sehr seltenen Fällen
- Repariert: JPEG und TIFF Decoder-Bug in seltenen Situationen
- Repariert: kleine EditorGadget() und SpinGadget() Bugs
6. Oktober 2003: PureBasic V3.80 (Windows)
- Hinzugefügt: ExplorerComboBoxGadget()
- Hinzugefügt: CameraProjection(), CameraBackColor() und CameraRange()
- Hinzugefügt: Den binären Modulo Operator: '%'
- Hinzugefügt: ForEach Befehl zum schnellen Durchlaufen von verknüpften Listen
- Hinzugefügt: Interface/EndInterface zur Unterstützung von Objekt-Funktionsaufrufen! Ja, COM und DX Objekte sind jetzt nativ in PureBasic verfügbar...
- Hinzugefügt: Große Resident-Dateien mit allen Windows/DirectX Interfaces, fertig zur Benutzung!
- Hinzugefügt: Break und Continue zum Modifizieren des Schleifenablaufs
- Hinzugefügt: Enumeration/EndEnumeration zum schnellen Deklarieren einer Vielzahl aufeinanderfolgender Konstanten
- Hinzugefügt: OffsetOf() zum Ermitteln des Offsets eines Struktur oder eines Interface Felds
- Hinzugefügt: SizeOf() unterstützt jetzt Variablen und Interfaces
- Hinzugefügt: Interface-, Float- und String-Konstanten Unterstützung zum 'Resident' Dateiformat
- Hinzugefügt: Qualitäts-Support bei SaveImage() und dem JPEG Encoder
- Hinzugefügt: MessageRequester() 'Flags' ist jetzt ein optionaler Parameter
- Hinzugefügt: Die Syntaxeinfärbung im Editor und der Strukturen-Anzeiger wurden stark verbessert
- Optimiert: viele Abhängigkeiten von OGRE entfernt, resultierend in einer kleineren Engine3D.DLL
- Geändert: Konstanten sind jetzt wieder echte Konstanten (benutzen Sie Enumeration, um dynamische Konstanten zu erhalten)
- Repariert: ASM-Register Anzeige im Debugger
- Repariert: IncludePath Probleme mit IncludeBinary
- Repariert: Benutzung von TAB innerhalb eines editierbaren ComboBoxGadget() war nicht möglich
- Repariert: DeleteDirectory() schlug fehl mit einem "Read-only" Verzeichnis im 'Force' Modus
- Repariert: TGA-Decoder Bug bei Top/Down und RLE Bildern
- Repariert: Möglicher 'Lock' in den AddPackFile() und PackMemory() Routinen
- Repariert: die Strukturen-Größe, wenn eine Struktur sehr groß war (über 32000 Bytes)
- Repariert: Int(): ein negativer Wert konnte falsche Ergebnisse produzieren
- Repariert: ein LinkedList Problem, wenn diese innerhalb und außerhalb einer Prozedur benutzt wurde
- Repariert: Line() und LineXY() zeichneten nicht den letzten Punkt
- Repariert: Debugger überprüft: InitEngine3D()
- Repariert: Ein Bug in TextLength(), wenn ein leerer String benutzt wurde
- Repariert: Bug bei ProcedureReturn, wenn es in einem 'Select String$' Ausdruck verwendet wurde
- Repariert: Sounds waren auf 50 begrenzt, wenn der Debugger aktiviert war
- Repariert: ClipSprite() wurde nicht unterstützt von DisplayAlphaSprite(), DisplayShowSprite(), DisplaySolidSprite() und DisplayTranslucideSprite()
- Repariert: Ein reserviertes Schlüsselwort wie 'Data' konnte nicht in einer Struktur benutzt werden
- Repariert: CreatePack(), SaveImage() und SaveSprite() arbeiteten nicht mit sehr langen Dateinamen
- Repariert: Inkey() hielt den Programmablauf an
- Repariert: FileSize() gab einen falschen Wert für Stammverzeichnisse (Root) auf Win9x System zurück
- Repariert: Ein Editor-Bug, welcher ein Vertauschen der Panels verursachte
13. Juli 2003: PureBasic V3.72 (Windows)
- Geändert: SelectedFilePattern() und Open/SaveFileRequester Patternindex basiert jetzt auf '0' anstelle auf '1'. Achtung !
- Geändert: ListIndex() basiert jetzt auf '0' anstelle auf '1'. Achtung !
- Aktualisiert: Editor: Update bei Finden/Ersetzen, ein '*' markiert jetzt eine geänderte Datei
- Aktualisiert: Toolbar Library wurde gesplittet und optimiert
- Aktualisiert: alle fehlenden Library Quickhelps (im Statusbar des Editors)
- Repariert: ParseDate() wenn keine Trennzeichen im Datum benutzt wurden
- Repariert: ResizeImage() besitzt jetzt eine höhere Qualität beim Größe verändern
- Repariert: verschiedene Gadget-Ereignis Probleme (Splitter, Panel)
- Repariert: PNG und JPEG Decoder in einigen seltenen Fällen
- Repariert: den Namen verschiedener Funktionen (OnError Library)
- Repariert: verschiedene Compiler Bugs
7. Juni 2003 : PureBasic V3.70 (Windows)
- Hinzugefügt: Terrain Library
- Hinzugefügt: Billboard Library
- Hinzugefügt: Entity Library
- Hinzugefügt: Material Library
- Hinzugefügt: Particle Library
- Hinzugefügt: OnError Library
- Hinzugefügt: CameraLookAt(), CameraRenderMode(), CameraFOV(), Engine3DFrameRate(), CountRenderedTriangles()
- Hinzugefügt: CreateMesh(), SetMeshData()
- Hinzugefügt: ExamineLibraryFunctions(), NextLibraryFunction(), LibraryFunctionName(), LibraryFunctionAddress()
- Hinzugefügt: IsFunctionEntry(), CallCFunction(), CallCFunctionFast()
- Hinzugefügt: RenderMovieFrame(): Ja, Sie können ein Movie auf einem Sprite oder einem Bildschirm abspielen !
- Hinzugefügt: OpenGadgetList(), ScrollBarGadget(), ScrollAreaGadget(), SplitterGadget()
- Hinzugefügt: HyperLinkGadget(), ContainerGadget(), EditorGadget()
- Hinzugefügt: TreeGadgetItemNumber(), ExplorerListGadget(), ExplorerTreeGadget()
- Hinzugefügt: #PB_FontRequester_Effects Flag für den FontRequester()
- Hinzugefügt: PanelGadget() wurde vollständig neu geschrieben und ist jetzt XP Theme fähig
- Hinzugefügt: TreeGadget() wurde neu geschrieben zur Unterstützung von dynamischen Einträgen (Hinzufügen, Entfernen...)
- Hinzugefügt: AddGadgetItem() unterstützt jetzt Bilder für das PanelGadget()
- Hinzugefügt: 'ParentID' optionaler Parameter bei OpenWindow()
- Hinzugefügt: CDecl Support für PureFunctions und Prozeduren ('ProcedureCDLL' und 'DeclareCDLL' Schlüsselwörter hinzugefügt)
- Hinzugefügt: End [ExitCode] optionaler Parameter
- Hinzugefügt: Präzisere Fehlermeldungen für Assembler und Linker Fehler
- Hinzugefügt: /LINENUMBERING Compiler-Switch
- Hinzugefügt: Vollständiger Debugger-Support für die 3D-Engine
- Hinzugefügt: ComboBox Support für GetGadgetItemText() und SetGadgetItemText()
- Hinzugefügt: Viele neue Funktionen beim Visual Designer, einschließlich Tab-Reihenfolge, Zeichensatz-Auswahl, neue Gadgets und mehr...
- Geändert: Mesh Library, eine neue Entity Library eingeführt (für flexiblere Kontrolle)
- Geändert: ClosePanelGadget() in CloseGadgetList()
- Geändert: Inline Assembler Sprungmarken sind jetzt l_label anstelle von pLabel
- Movie Library gesplittet und optimiert
- Repariert: SpriteCollision() und SpritePixelCollision() war um 1 Pixel falsch
- Repariert: Ergebnis-Code von CopyDirectory war in manchen Fällen falsch
- Repariert: StrF(): wenn Dezimalstellen angegeben werden, rundet es korrekt
- Repariert: Verschiedene Debugger Warn-Meldungen fehlten
- Repariert: Fließkommazahlen und Ganzzahlen wurden in manchen Fällen schlecht vermischt
25. März 2003 : Version 3.62 - (Windows Bugfix Release)
- Entfernt: FakeEndSelect
- Repariert: Einige Compiler Bugs
- Repariert: Kleiner Bug im PNG Encoder und Decoder
- Repariert: ProcedureReturn innerhalb Select/EndSelect
- Repariert: Array Zuweisung, wenn kein Speicher verfügbar war
- Repariert: Int(): fehlerhaft seit v3.60
- Repariert: Val(): akzeptiert jetzt alle in BASIC gültigen Formen
- Repariert: AddPackFile() Problem mit manchen Dateien
- Repariert: RunProgram() mit sehr langen Pfaden
19. März 2003 : Version 3.61 - (Windows Bugfix Release)
- Repariert: schwerwiegende Compiler Bugs (Arrays)
- Repariert: schwerwiegender MD5FileFingerprint() Bug
- Repariert: Syntax Highlightning für Funktionen/Prozeduren und Alt+V Shortcut
- Repariert: 2 Bugs im Visual Designer
- Repariert: Sprite und ImagePlugin (JPEG, PNG) in 16Bits Modus
- Repariert: XOR inline asm Befehl wurde nicht mehr erkannt
- Repariert: TGA decoder konnte einige Dateien nicht laden
17. März 2003 : Version 3.60 - (Windows)
- Hinzugefügt: Mächtiger Visual Designer, zum einfachen Erstellen von graphischen Anwendungen
- Hinzugefügt: Viele neue Optimierungen im Compiler-Kernel, welche in schnellerem/kleinerem Code resultieren (insbesondere beim Umgang mit Arrays und strukturierten Variablen)
- Hinzugefügt: Native JPEG, TIFF, PNG und TGA Image/Sprite Decoder mittels Plugin
- Hinzugefügt: Native JPEG und PNG Image/Sprite Encoder mittels Plugin
- Hinzugefügt: Native OGG Sound Decoder mittels Plugin
- Hinzugefügt: AvailableScreenMemory(), SelectedFilePattern(), DefaultPrinter()
- Hinzugefügt: Flags für LoadFont() zum Aktivieren von kursiv, fett und weiteren
- Hinzugefügt: Multi-Source Support für den Debugger (Include-Dateien)
- Hinzugefügt: Array-Überlauf Debugger Überprüfung
- Hinzugefügt: Data-Read-Überlauf Debugger Überprüfung
- Hinzugefügt: Icon-Support für CatchImage()
- Hinzugefügt: optionaler MMX, 3DNOW, SSE und SSE2 Support, mit Autoselect-Modus (zum automatischen Auswählen der richtigen Routine während der Laufzeit, abhängig vom Prozessor).
- Hinzugefügt: DLL-Importer Tool im Library SDK
- Gesplitted: Font, Gadget und Window Libraries, für kleinere Executable (Danke an Danilo)
- Entfernt: CatchJPEGSPrite() und LoadJPEGSprite() (ersetzt durch Plugins)
- Verbesserung des PureBasic Library-Formats (neues komprimiertes Format)
- Verbesserung des Inline-ASM, akzeptiert jetzt FPU Opcode
- Verbesserung des Editors: Doppelklick auf (X)IncludeFile öffnet die Datei, Inline-Hilfe arbeitet bei allen Schlüsselwörtern (If/EndIf...), ASM-Syntax Einfärbung, Inline-Hilfe für ASM
- Geändert: SetGadgetFont() verwendet jetzt 2 Parameter, um Änderung des Zeichensatzes während der Laufzeit zu ermöglichen
- Repariert: SortArray() beim Sortieren von Strings im Groß-/Kleinschreibungs-unabhängigen Modus
- Repariert: RunProgram() Befehl mit 3 Argumenten
- Repariert: ImageOutput() Problem mit Windows 98
- Repariert: das 16Bit-Sprite Darstellungsproblem mit einigen alten Grafikkarten, welche intern 15 Bit verwenden
- Repariert: einige Bugs im Compiler
13. Januar 2003 : PureBasic v3.51 - (Windows Bugfix Release)
- Einige Bugs im Compiler repariert und die Ausgabe ein wenig optimiert
- IPString() und IPAddressField() repariert (waren in umgedrehter Reihenfolge)
- InputRequester() repariert und durch Hinzufügen von Tastaturunterstützung verbessert
- ReadPreferenceLong/String/Float() repariert, um Schlüsselwörter mit Leerzeichen zu akzeptieren
- MouseButton "Beep"-Problem im Fullscreen-Modus repariert
- Date() und ParseDate() repariert, wenn ein ungültiges Datum angegeben wurde
- "XP-Theme" Problem des Editors repariert
- ProcedureBrowser des Editors repariert (Danke an Dominique und Plouf)
- OpenWindow() Dimension repariert, wenn kein Flag angegeben wurde
- Gosub/Return Check entfernt, welcher in v3.50 eingeführt wurde (aus Flexibilitätsgründen)
6. Januar 2003 : PureBasic V3.50 - (Windows)
- Hinzugefügt: Engine3D Library: Add3DArchive(), AmbientColor(), Fog(), InitEngine3D(), LoadWord(), RenderWorld(), SkyBox(), SkyDome()
- Hinzugefügt: Camera Library: CameraLocate(), CameraX(), CameraY(), CameraZ(), CreateCamera(), FreeCamera(), MoveCamera(), RotateCamera()
- Hinzugefügt: Light Library: CopyLight(), CreateLight(), FreeLight(), HideLight(), LightColor(), LightLocate(), LightSpecularColor(), MoveLight()
- Hinzugefügt: Mesh Library: CopyMesh(), FreeMesh(), GetMeshAnimationTime(), MeshAnimation(), MeshAnimationLength(), MeshLocate(), MeshTexture(), MeshX(), MeshY(), MeshZ(), MoveMesh(), ResizeMesh(), RotateMesh(), ScaleMesh(), SetMeshAnimationTime()
- Hinzugefügt: Texture Library: CopyTexture(), CreateTexture(), FreeTexture(), LoadTexture(), TextureHeight(), TextureID(), TextureOutput(), TextureWidth()
- Hinzugefügt: WriteFloat(), ReadFloat(), MouseLocate(), MD5FileFingerprint()
- Hinzugefügt: STDCALL und ALLE Flags zu den PureLibraries. Siehe in die SDK Dokumentation für mehr Informationen
- Hinzugefügt: TreeGadget Checkbox-Unterstützung bei GetGadgetItemState()
- Hinzugefügt: SetGadgetState() arbeitet jetzt bei ButtonImageGadget()
- Aktualisiert: CallFunction() und CallFunctionFast(): Fließkommazahlen können direkt übergeben werden
- Aktualisiert: SetStatusBarText() 'Aussehen' Parameter ist jetzt optional
- Aktualisiert: Frame3DGadget() 'Flags' Parameter ist jetzt optional
- Optimiert: CallFunctionFast() (2x schneller)
- Optimiert: die Code-Generierung: Chr(#Konstante) wird jetzt Buchstaben-String berücksichtigt und einige Geschwindigkeitssteigerungen
- Geändert: den Assembler (FASM), resultiert in einen besser optimierten Code (PB-Editor ist 6 KB kleiner zum Beispiel)
- Geändert: LSet() durch RSet() und RSet() durch LSet() (waren vertauscht im Vergleich zu normalen Basic-Funktionen)
- Geändert: OpenTreeGadgetNode() und CloseTreeGadgetNode() (jetzt mit einem Parameter)
- Geändert: ReleaseMouse() erwartet jetzt einen Parameter
- Repariert: den Spiele Maus-Support im "Windowed"-Modus (konnte zu einer Computer-Blockierung führen)
- Repariert: SelectElement() arbeitete falsch bei der Übergabe von -1..
- Repariert: TreeGadget() bei mehrfacher Benutzung auf dem gleichen Fenster
- Repariert: SaveImage() mit 16Bit- und 8Bit-Desktops
- Repariert: RSet() mit 2 Argumenten
- Repariert: ein kleiner Bug in ParseDate()
- Repariert: AddPackFile() und AddPackMemory(): Buffer-Überlauf in einigen seltenen Situationen
- Repariert: OpenFileRequester() mit dem Mehrfachselektions-Modus (MultiSelection)
- Repariert: ein blöder Bug beim Benutzen vieler Bilder in den Gadget-Einträgen (TreeGadget, ListIconGadget...)
- Repariert: Cipher Library
9. Oktober 2002 : Version 3.40
- Geändert: Struktur-Namen sind nicht mehr "case sensitive" (Groß- und Kleinschreibung wurde bisher unterschieden), da
dies einen schwierig zu findenden Bug verursachen konnte
- Hinzugefügt: Date Library: Date(), Year(), Month(), Day(), DayOfWeek(), DayOfYear(), Hour(), Minute(), Second(), FormatDate(), AddDate(), ParseDate()
- Hinzugefügt: Hostname(), ExamineIPAddresses(), NextIPAddress(), IPString()
- Hinzugefügt: LSet(), RSet(), Bin(), RemoveString(), StringField()
- Hinzugefügt: ModuleVolume(), OSVersion(), WaitThread()
- Hinzugefügt: CopyDirectory(), DeleteDirectory(), IsFilename()
- Hinzugefügt: NextSelectedFileName(), InputRequester()
- Hinzugefügt: DrawingBuffer(), DrawingBufferPixelFormat(), DrawingBufferPitch(), FillArea()
- Hinzugefügt: #PB_Compiler_Date, #PB_Compiler_OS als eingebaute Compiler-Konstanten
- "Splitted" Libs: FileSystem, StringExtension, Date
- Updated: RunProgram() hat jetzt einen optionalen ArbeitsVerzeichnis$ Parameter
- Updated: SetGadgetFont(#PB_Font_Default) geht jetzt zurück zum Standard-Zeichensatz
- Updated: OpenWindow() akzeptiert jetzt 2 neue Flags: #PB_Window_WindowCentered und #PB_Window_ScreenCentered
- Updated: GetGadgetItemText() und SetGadgetItemText() arbeiten jetzt mit TreeGadget()
- Updated: ReplaceString hat jetzt einen optionalen 'StartPosition' Parameter
- Updated: SetGadgetState() kann zusammen mit ImageGadget() benutzt werden, um das aktuelle Bild zu ändern
- Updated: 'Level' Flag hinzugefügt bei PackMemory(), AddPackFile() und AddPackMemory() für schnellere Komprimierung
- Updated: beim Erstellen einer DLL, AttachProcess(), DetachProcess(), AttachThread() und DetachThread() müssen einen 'Instanz' Parameter haben
- Updated: keine '_' beim Erstellen einer DLL mehr
- Repariert: Debugger Problem in der FileSystem Library
- Repariert: ReadPreferenceLong() und ReadPreferenceFloat()
- Repariert: SpriteOutput() Bug beim Benutzen von Plot()
- Repariert: CDAudioTrackLength(): der letzte Track gab immer 0 zurück...
- Repariert: OpenWindowedScreen(): falsche BottomOffset und RightOffset Werte
- Repariert: GetPathPart(), GetFilePart() und GetExtensionPart()
- Repariert: SetGadgetText() beim Benutzen mit ComboBox und einem leeren String (löscht den ComboBox Inhalt)
- Repariert: SetClipboardText(), benutzt jetzt das TEXT anstelle des OEM Formats.
- Repariert: der Compiler warnte nicht, wenn eine "globale" Variable in den Prozedur-Parametern benutzt wurde.
- Repariert: Compiler Bugs im InlineASM : 'MOV eax, "String"' und 'MOV eax, #CONSTANT' wurden schlecht kompiliert.
- Repariert: Compiler Bug beim Benutzen negativer Fließkomma-Konstanten
- Repariert: Compiler Bug beim Benutzen von Fließkomma-Operationen mit API-Funktionen
- Repariert: Compiler Bug beim Vergleichen von Strings mit numerischen Werten (jetzt verboten)
- Repariert: Compiler Bug beim Benutzen von INCLUDEBINARY in DataSection
- Repariert: Compiler Bug wenn DECLARE und PROCEDURE nicht übereinstimmten (es wurden keine Fehlermeldungen generiert)
- Repariert: Compiler Bug wenn DEBUG in Prozeduren mit String-Operationen benutzt wurde
- Editor verbessert (mehrere Dateien, Prozeduren-Browser, Zusatz-Tools und mehr...) und den Sourcecode veröffentlicht... Dankeschön an Danilo !
16. August 2002 : Version 3.30
Dies ist ein Release mit Bug-Fixes und zur Synchronisation mit der Linux-Version
Hinzugefügt: HideMenu(), CreateSprite(), UseBuffer()
Hinzugefügt: Französische Hilfe (vollständig übersetzt)
Aktualisiert: SortArray() arbeitet jetzt auch mit Fließkommazahlen-Arrays
Aktualisiert: LoadSprite(), GrabSprite(), CopySprite(), CatchSprite(), LoadJPEGSPrite(), CatchJPEGSprite() haben jetzt
einen optionalen 'Modus' Parameter
Aktualisiert: GetFilePart(), GetPathPart() und GetExtensionPart() entfernen jetzt die evtl. vorhandene Anführungszeichen (")
Aktualisiert: SetGadgetItemState() und GetGadgetItemState() können jetzt den Status der Häkchen bei einem ListIconGadget()
Eintrag setzen/ermitteln
Repariert: SetClipboardText(): schlug in manchen Situation fehl
Repariert: SpritePixelCollision(): schlug fehl, wenn die Sprites verschiedene Größen hatten
Repariert: LoadJPEGSprite ignorierte den 'Modus' Parameter (war nachteilig für 3D Sprites)
Repariert: Bug in AddGadgetItem() mit ListIconGadget()
Repariert: PokeF() fehlte
Repariert: MovieAudio(): falsche Lautstärke-Reglung (basiert jetzt auf Dezibels...)
Repariert: ReleaseMouse() wurde nicht erkannt
Repariert: 2DDrawing Bug (erneut...)
Repariert: LoadSprite() schlug fehl mit 16 Bit und 32 Bit BMP.
Repariert: GetGadgetText() wenn es zusammen mit einem editierbaren ComboBoxGadget() benutzt wurde
Repariert: ReadByte() und ReadWord() (mit Long/Word Variablen)
Repariert: FreeMenu(), GadgetX(), GadgetY()
Repariert: DisplaySolidSprite() fehlte
Repariert: Debug-Routine fehlte für GadgetID()
Repariert: Bug beim Benutzen verschiedener Movies (Absturz am Programmende)
Repariert: ResizeImage()
Repariert: PreferenceGroup()
Repariert: ExamineMouse() gab immer 0 zurück
Repariert: PathRequester stürzte ab, wenn DefaultPath nicht initialisiert war
Repariert: InitSprite3D() stürzte bei alleinigem Aufruf ab
Repariert: Editor: ZoomSprite3D() wurde nicht hervorgehoben
9. Juni 2002 : Version 3.20
WARNUNG! Das Verhalten des Window Callbacks hat sich geändert und "locked" (blockiert) das Programm
bei Benutzung einer entsprechenden Routine ! Seht die SetWindowCallback() Dokumentation für weitere Info.
- Hinzugefügt: Cipher Library: CRC32Fingerprint(), MD5Fingerprint(), DESFingerprint(), Base64Encoder()
- Hinzugefügt: AddKeyboardShortcut(), RemoveKeyboardShortcut(), SpinGadget(), WebGadget()
- Hinzugefügt: GetMenuItemState(), SetMenuItemState(), MenuHeight()
- Hinzugefügt: KeyboardReleased(), Trim(), Space()
- Hinzugefügt: SelectElement(), LineXY(), GetExtensionPart()
- Hinzugefügt: ! (XOR) und ~ (NOT) bitweise Operatoren
- Hinzugefügt: "Protected" BASIC Schlüsselwort
- Hinzugefügt: Shift+Tab Tastaturkürzel zum Rücksprung zum vorherigen Gadget
- Hinzugefügt: Debugger erkennt nun die Benutzung eines NULL Pointers und die Division durch 0.
- Optimiert: 2DDrawing, Keyboard, Mouse, Sound und Sprite Libraries (getrennte Einbindung der Befehle) !
- Optimiert: Plot() Befehl bei Benutznug mit ScreenOutput() ist jetzt 40 mal schneller (DirectX)
- Aktualisiert: PokeS() und PeekS() haben jetzt einen optionalen 'Länge' Parameter
- Aktualisiert: KeyboardPushed() kann jetzt #PB_Key_All als Parameter erhalten, für alle gedrückten Tasten
- Aktualisiert: FileSize() gibt jetzt -2 zurück, wenn die Datei ein Verzeichnis ist
- Aktualisiert: WindowID() kann einen optionalen #Window Parameter erhalten
- Aktualisiert: Alle Gadget Befehle haben jetzt einen optionalen 'Flags' Parameter, welcher die volle Kontrolle über deren Aussehen ermöglicht ! (Seht in die Gadget Dokumentation für weitere Informationen)
- Aktualisiert: Plot(), Line(), Box(), Circle(), Ellipse() haben jetzt einen optionalen 'Color' (Farb) Parameter.
- Aktualisiert: Beim Debugger wurden einige Bugs entfernt. Wenn ein Programm anhält oder der Debugger beendet wird, wird jetzt alles korrekt freigegeben. Dies leichteres Debuggen von "Fullscreen" Spielen, da der Bildschirm geschlossen wird, bevor der Fehler angezeigt wird.
- Aktualisiert: Debug-Routinen der Sprite Library.
- Geändert: StripLead() und StripTrail() in RTrim() und LTrim() umbenannt, für höhere Kompatibilität zu anderen BASIC Dialekten
- Geändert: NetworkClientEvent(), CloseNetworkConnection()
- Geändert: CreateToolBar(): 'WindowID' Parameter hinzugefügt
- Geändert: CreateMenu(): 'WindowID' Parameter hinzugefügt
- Geändert: NetworkClientEvent() und NetworkServerEvent(): keine 'String' Ereignisse mehr: "could be a possible exploit.."
- Geändert: OpenWindowedScreen() x,y Parameter beinhalten die Breite der oberen und linken Fensterränder.
- Geändert: ResizeWindow(), WindowWidth() und WindowHeight() benutzen jetzt die Breite/Höhe der inneren Fläche, um mit dem neuen OpenWindow() und der Skin-Unterstützung zu arbeiten
- Entfernt: AttachToolBar(), DetachToolBar(), AttachMenu(), ReceiveNetworkString()
- Repariert: Frame3DGadget() mit anderen vertieften und erhöhten Rahmen
- Repariert: ListViewGadget() Ereignisse
- Repariert: FileSize()
- Repariert: StopDrawing(), die Darstellung unter Win9x war nach häufigen Aufrufen fehlerhaft
- Repariert: Debugger Probleme...
- Repariert: AddGadgetItem() mit ListIconGadget() (-1 Position arbeitete nicht)
- Repariert: SpritePixelCollision() mit "clipped" Sprites
- Repariert: Möglicher Bug in Random()
- Repariert: SpritePixelCollision(), nur (0,0,0) transparente Farbe arbeitete
- Repariert: InitSprite(), InitSound(), InitPalette(), InitKeyboard() zeigten nicht mehr den Systemrequester an, wenn DirectX 7+ nicht gefunden wurde.
- Repariert: RemoveGadgetItem() und ClearGadgetItemList(), wenn sie zusammen mit PanelGadget() benutzt wurden
- Repariert: PathRequester() Standardpfad auf Win9x Systemen
- Repariert: @LinkedList() mit dem '.s' Typ gibt jetzt den korrekten Listenelement-Zeiger zurück (anstelle des String-Zeigers)
- Repariert: ReadPreferenceString() war in manchen Situationen fehlerhaft
- Repariert: Dokumentation: SaveImage(), ScreenID(), SelectedFontStyle() und SelectedFontColor() fehlten
6. Mai 2002 : Version 3.10
- Hinzugefügt: Preference Library: OpenPreferences(), CreatePreferences(), ReadPreferenceLong/Float/String(), WritePreferenceLong/Float/String(), PreferenceComment(), PreferenceGroup()
- Hinzugefügt: Windows XP Skinning Support (siehe 'Compiler-Optionen' Fenster)
- Hinzugefügt: GadgetX(), GadgetY(), GadgetWidth(), GadgetHeight(), GetGadgetItemState(), SetGadgetItemState(), GetGadgetItemText(), SetGadgetItemText(), CountGadgetItems(), TrackBarGadget(), IPAddressGadget()
- Hinzugefügt: HideWindow(), RandomSeed(), MakeIPAddress(), IPAddressField()
- Hinzugefügt: MouseWheel(), CatchSprite(), SaveSprite()
- Hinzugefügt: RotateSprite3D(), ZoomSprite3D(), TransformSprite3D(), Sprite3DQuality(), Sprite3DBlendingMode()
- Hinzugefügt: EventType(): Return/Änderungen/Fokus kann ermittelt werden bei StringGadget(), ComboBox() und anderen
- Hinzugefügt: CatchImage(), CreatePack(), ClosePack(), NextPackFile(), AddPackFile(), AddPackMemory(), PackFileSize(), OpenPack()
- Hinzugefügt: DirectoryEntrySize(), DirectoryEntryAttributes()
- Hinzugefügt: Volle Kompatibilität mit 'WindowBlinds' auf WinXP, welches möglicherweise den Event-Handler zerstörte !
- Optimiert: PureLibraries (Nur benutzte Befehle werden im Executable eingebunden) : Image, Misc2, GadgetExtension, Requester, Sprite3D, Memory, Packer
- Aktualisiert: CompareMemoryString(): einen optionalen 'Länge' Parameter hinzugefügt.
- Aktualisiert: DisplayPopupMenu(): (x,y) sind jetzt optional
- Aktualisiert: ResizeGadget(): die Übergabe von '-1' an eines der Argumente führt zu dessen Ignorierung (sehr nützlich für "resizeable" GUIs)
- Aktualisiert: GetGadgetText() und TextGadgetText() arbeiten jetzt zusammen mit TreeGadget() und ListIconGadget()
- Aktualisiert: AddGadgetItem() hat jetzt einen optionalen "Image" (Bild) Parameter.
- Aktualisiert: OpenWindow(): fügt jetzt die Größe der Fensterränder automatisch hinzu, um das "Skinning" Problem unter WinXP zu beheben
- Aktualisiert: FileSize() gibt jetzt die Größe für alle Dateien zurück, sogar für gesperrte ("locked") Dateien
- Entfernt: InitGadget(): wird nicht mehr benötigt.
- Entfernt: DoubleClick() und EventMouseButtons(): benutzen Sie stattdessen EventType()
- Entfernt: OpenDefaultConsole(): OpenConsole() stellt jetzt automatisch fest, ob sich das Programm im 'Console' oder 'Windows' Format befindet.
- Entfernt: AddListIconGadgetItem() und AddTreeGadgetItem(): AddGadgetItem() wird jetzt benutzt
- Entfernt: ExpandTreeGadgetItem() und TreeGadgetItemState(): Set/GetGadgetItemState() werden jetzt benutzt
- Repariert: Gadget Ereignisse (Events) für ComboBox, ListIcon und Systray.
- Repariert: Mögliche Speicherfehler mit Strings in besonderen Situationen
- Repariert: Possible bug when using Procedures as callbacks
- Repariert: Create3DSprite(): Größe war 1 Pixel kleiner
- Repariert: Jedes Fenster hat jetzt seine eigene private Klasse
- Repariert: PlaySound(): Debugger-Routine fehlte und kleine Störung am Ende des Abspielvorgangs
- Repariert: ResizeGadget() zusammen mit PanelGadget und einige "Refresh" Probleme
- Repariert: FindString() auf Win9x
- Repariert: ExamineDirectory() Bug auf Win9x
- Repariert: Module Library, das Abspielen sollte jetzt überall funktionieren
- Repariert: SetGadgetText() für ListViewGadget()
- Repariert: SelectedFontColor()
- Repariert: Blöder Bug bei DeleteElement()
- Repariert: NewList xxxx() alleine produzierte einen Linker Fehler
- Repariert: Bug beim Drucken von Bildern
- Repariert: Random() Befehl (nochmals !)
- Repariert: ResizeImage() auf Win9x
- Repariert: IncludeBinary Bug (bisher funktionierten nur absolute Pfade)
- Repariert: Editor: Tab wurde schlecht verarbeitet. Kleiner Farbfehler beim Einfügen.
4. April 2002 : Version 3.00
- Hinzugefügt: Library PureLibrary: OpenLibrary(), IsFunction(), CallFunction(), CloseLibrary()
- Hinzugefügt: Help PureLibrary: OpenHelp(), CloseHelp()
- Hinzugefügt: Clipboard PureLibrary: ClearClipboard(), GetClipboardText(), GetClipboardData(), SetClipboardData(), SetClipboardText()
- Hinzugefügt: ElseIf
- Hinzugefügt: Wenn eine Bedingung (If/While...) nicht vor ENDPROCEDURE abgeschlossen wurde, zeigt der Compiler eine Fehlermeldung.
- Hinzugefügt: ToolBarToolTip()
- Hinzugefügt: SpritePixelCollision()
- Hinzugefügt: Timer PureLibrary (Danke an Danilo): StartTimer(), EndTimer(), GetMinTimerResolution(), GetMaxTimerResolution()
- Hinzugefügt: ComDX PureLibrary (Danke an Danilo): CallCOM(), CallDX()
- Hinzugefügt: Printer PureLibrary: NewPrinterPage(), PrinterOutput(), PrintRequester(), StartPrinting(), StopPrinting(), PrinterPageWidth(), PrinterPageHeight()
- Hinzugefügt: Variable Befehls-Argumente für jede Funktion
- Hinzugefügt: Declare und DeclareDLL, um Prozeduren vor Ihrer eigentlichen (inhaltlichen) Defininierung zu deklarieren
- Hinzugefügt: CopyMemoryString(), MemoryStringLength(), CompareMemory(), ReAllocateMemory(), CompareMemoryString()
- Hinzugefügt: CopyImage(), ResizeImage(), GrabImage()
- Hinzugefügt: MovieStatus(), MovieLength()
- Hinzugefügt: SoundVolume(), SoundPan(), SoundFrequency(), CatchSound()
- Hinzugefügt: FirstDatabaseRow(), PreviousDatabaseRow()
- Hinzugefügt: CreatePalette(), GetPaletteColor(), SetPaletteColor(), UsePalette()
- Hinzugefügt: RGB(), ReplaceString(), StrU(), StrF(), ValF()
- Hinzugefügt: HideGadget(), GadgetID()
- Hinzugefügt: Niederländischer Catalog für den Editor
- Aktualisiert: Brandneue Library-Architektur, um NUR benötigte Befehle in das endgültige Executable einzubinden. Zur Zeit sind noch nicht alle Libraries soweit optimiert, um diese Funktion zu benutzen. Aber dies wird passieren, in naher Zukunft :). Außerdem benutzen alle Libraries das Standard STDCALL Format, somit gibt es keine umgekehrte Argumentreihenfolge mehr.. Alte Libraries sind jedoch weiterhin voll kompatibel.
- Aktualisiert: StopSound(): Die Übergabe von '-1' stoppt alle gerade abgespielten Sounds.
- Aktualisiert: PlaySound(): Der Flags Parameter ist jetzt optional.
- Aktualisiert: Sort(): es kann jetzt ein zu sortierender Bereich definiert werden (z.B.: von den Elementen 20 bis 50 eines Arrays).
- Aktualisiert: Resident Datei: #VK_xx Konstanten hinzugefügt, einige Strukturen repariert.
- Geändert: Intern werden die Parameter von Prozeduren jetzt in der richtigen Reihenfolge verarbeitet. Warnung: alle Callbacks müssen geändert werden, um dies zu berücksichtigen. Dies bedeutet auch, dass DLL Prozedur-Parameter in der richtigen Reihenfolge übergeben werden können.
- Geändert: InitSound() benötigt keinen "Maximum Sound" Parameter mehr.
- Geändert: Namensänderung von BackColour(), FrontColour() und TransparentSpriteColour() in BackColor(), FrontColor() und TransparentSpriteColor()
- Repariert: Compiler Absturz beim Verwenden von konstanten Strings, mehr Überprüfungen durch den Preprocessor
- Repariert: StartDrawing() Bugs
- Repariert: Random(), um bessere Zufallszahlen zu erhalten.
- Repariert: GetDatabaseString() beim Erhalten von Null-Werten
- Repariert: ExamineDirectory(): Fehler auf Win9x Systemen unter speziellen Umständen
- Repariert: Resident Problem. Jetzt werden Anwender-Residents geladen.
- Repariert: Editor Bug, welcher das Eingeben von speziellen Zeichen (oberhalb von 128 in der ASCII Tabelle) verhinderte und einige weitere Bugs.
- Repariert: FPU Bug, welcher das korrekte Arbeiten von OpenGL verhinderte.
- Repariert: 'Debug' Befehl: akzeptiert jetzt Fließkomma- und String-Funktionen ohne Probleme.
- Entfernt: Mr. Skunk PureLibraries, da einige fehlerhaft waren und wir nicht im Besitz der Sourcecodes sind, um diese zu reparieren.
24. Februar 2002 : Version 2.95
Hinweis: Dies ist eine "Bug-fix" Veröffentlichung vor dem Erscheinen der neuen 3.0. Nur sehr wenige Veränderungen.
- Hinzugefügt: HtmlHelp Support zur Suche in der Hilfe + anderen Goodies. Die alten HTML Dateien können gefahrlos gelöscht werden.
- Repariert: Compiler Bugs (Float Variablen innerhalb eines Structure Arrays, XIncludeFile, 'a' Konstanten unter manch seltenen Umständen, Bug bei Ausdrücken, Konstanten-Verdopplung und die Integration der Image Library beim Benutzen mit Sprites, Speicherverlust in String-Prozuduren)
- Repariert: LoadJPGSprite Bug
- Repariert: Editor Farben-Problem mit normalen Textfarben
27. Januar 2002 : Version 2.90
- Hinzugefügt: DLL Erstellung !
- Hinzugefügt: Konstanten können jetzt Strings oder Fließkomma (Float) sein.
- Hinzugefügt: Fehlersuche jetzt mit DebugLevel Befehlen innerhalb des Debugger-Fensters.
- Hinzugefügt: Italienische Editorsprachdatei von Yuri.
- Geändert: Variablen, Arrays, LinkedList und Konstanten sind jetzt "case insensitive".
- Repariert: PathRequester(), OpenFileRequester(), SaveFileRequester()
- Repariert: ExamineDirectory() kleiner Bug
- Repariert: GetDatabaseFloat()
- Repariert: Compiler Crash auf Windows NT4 Sp6a.
13. Januar 2002 : Version 2.82
- Hinzugefügt: PeekF(), PokeF()
- Hinzugefügt: Math Library: ACos(), ASin(), ATan(), Pow(), Log(), Log10(), Round(), Cos(), Sin(), Tan(), Abs(), Sqr(), Int()
- Hinzugefügt: SpriteOutput(): ermöglicht die Nutzung der 2DDrawing Befehle auf allen Sprites !
- Hinzugefügt: #PB_WindowInvisible
- Repariert: Compiler Bugs (a.l = Pow(), a = -16/Variable)
- Repariert: ein Bug in OpenDatabaseRequester(), welcher das Öffnen der Datenbank mit einigen ODBC Treibern (MySQL...) verhindert
- Repariert: FrontColour() Bug, welcher DX und ganze Systemcrashs verursachte...
- Repariert: SaveImage() speichert immer in 24 Bit anstelle von 32 Bit
- Repariert: ListViewGadget() benutzt jetzt die exakte Höhe des Gadgets, nicht mehr nur eine gerundete
- Repariert: SysTrayIconToolTip() verursacht keinen Crash mehr, wenn der angegebene Text länger als 64 Zeichen ist
- Repariert: ListIconGadget(): zerstört nicht mehr die Icons nach FreeGadget()
- Repariert: ChangeListIconGadgetDiplay(): Refresh erfolgt automatisch
- Repariert: Hintergrundfarbe der Fenster unter Windows XP
- Geändert: StrF(Zahl) in StrF(Zahl, Präzision)
01. Januar 2002 : Version 2.80 ("Happy New Year" - Veröffentlichung)
Compiler:
- Update: Compiler-Kernel von Grund auf neu programmiert: komplexe Ausdrücke sind möglich
- Update: Code-Ausgabe optimiert
- Hinzugefügt: /REASM Compiler Flag, um das Reassemblieren nach Modifizierungen zu ermöglichen.
- Hinzugefügt: Möglichkeit, Float Variablen bei API Aufrufen zu benutzen.
- Repariert: Float Support (Vergleiche, Prozeduren, Abs(), Sin() etc..)
- Repariert: alle bekannten Bugs
Libraries:
- Hinzugefügt: Sprite3D Library: Create3DSprite(), Display3DSprite(), Transform3DSprite(), Free3DSprite(), Start3D(), Stop3D()
- Hinzugefügt: SaveImage()
- Hinzugefügt: Debugger Routine für alle Befehle
- Repariert: ExamineDirectory()
- Repariert: OpenFile() (die Lese-Funktion arbeitete nicht)
Editor:
- Hinzugefügt: QuickHelp ("schnelle Hilfe") für die meisten Befehle
- Hinzugefügt: Direktaufruf von Prozeduren
- Hinzugefügt: Windows XP farbkompatibel und Support für Themen
- Repariert: blöder Bug beim Ersetzen
28. November 2001 : Version 2.70
- Hinzugefügt: ChangeSysTrayIcon(), SysTrayIconToolIip(), ExpandTreeGadgetItem(), TreeGadgetItemState()
- Hinzugefügt: DisableMenuItem(), GadgetToolTip(), StatusBarIcon()
- Hinzugefügt: UseGadgetList(), TransparentSpriteColor(), ClipSprite(), CopySprite(), GrabSprite()
- Hinzugefügt: ProgramParameter()
- Hinzugefügt: Thread Library
- Hinzugefügt: '!' Unterstützung, um "rohe" ASM Befehle in den Sourcecode einzufügen (werden direkt durch NAsm verarbeitet)
- Hinzugefügt: Multilevel (100) Undo/Redo im Editor
- Hinzugefügt: Farbiger Syntax beim Einfügen (Jaa ;-)
- Update: StatusBarText(): 2 Flags für das Ausrichten (Zentriert & Rechts)
- Update: ReadData() gibt jetzt die Anzahl gelesener Bytes zurück
- Update: Der Debugger ist jetzt ein Thread mit hoher Priorität (viel besser einsetzbar)
- Geändert: PlaySound(), einen Flag für fortwährendes Abspielen (Looping) hinzugefügt
- Geändert: SetStatusBarText() -> StatusBarText()
- Geändert: InitSprite(): den Sprite Parameter entfernt
- Repariert: DatabaseQuery(), GetPathPart(), LoadSprite() (kann jetzt Sprites beliebiger Größe laden)
- Repariert: CloseScreen(): kann jetzt zwischen Vollbild- (Fullscreen) und Fenstermodus (Windowed) ohne Probleme umschalten. Cool.
- Repariert: Compiler Bugs (MultiArray in Prozeduren, Einlesen von Daten in Prozeduren)
- Repariert: Flickering im Editor
5. November 2001 : Version 2.60
Hinzugefügt: CopyMemory(), CatchJPEGSprite(), LoadJPEGSprite(), WindowMouseX(), WindowMouseY()
Hinzugefügt: MovieSeek(), MovieInfo(), DrawImage(), ScreenOutput(), WindowOutput(), ImageOutput(), CreateImage()
Hinzugefügt: Database Library
Hinzugefügt: Packer Library
Hinzugefügt: Console Library (von Sylvain)
Hinzugefügt: Möglichkeit, die 2DDrawing Library direkt auf Bildschirmen von Spielen zu nutzen
Hinzugefügt: XOR und Fill/Outline Modus für die 2D Drawing Funktionen
Hinzugefügt: -1 Feature bei FreeMemory(), um alle Bänke mit einem Aufruf freizugeben.
Hinzugefügt: Neue Flags bei RunProgram(): synchrones Starten und Möglichkeit das gestartete Programm zu verstecken.
Hinzugefügt: Mächtiger ASM-Monitor im Debugger (in einer Basic Sprache !)
Hinzugefügt: Variablen-Anzeiger im Debugger
Geändert: Alle alten MemoryBank Funktionen umbenannt.
Geändert: ReadMemory() und WriteMemory() umbenannt -> ReadData(), WriteData() (für bessere Logik zusammen mit anderen Befehlen)
Geändert: Das Purebasic Library Format (siehe das SDK für weitere Informationen)
Geändert: DrawingOutput() wurde umbenannt in StartDrawing() und benötigt keine WindowID() mehr (stattdessen WindowOutput(), ScreenOutput() oder ImageOutput()
Geändert: Eof() benutzt jetzt einen Parameter..
Repariert: StopModule() (den #Module Parameter entfernt)
Repariert: Einen kleinen Compiler Bug
Repariert: PlayMovie()
Repariert: Debugger während dem Benutzen von ASM Befehlen in PureBasic
Repariert: Clipboard EINFÜGEN innerhalb des Editors verändert nicht mehr den Zeichensatz des Editors
23. September 2001 : Version 2.50
- Mouse Library hinzugefügt
- Movie Library hinzugefügt
- Sort Library hinzugefügt
- DisplayTranslucideSprite(), DisplayAlphaSprite(), DisplayShadowSprite(), DisplayRGBFilter(), ChangeAlphaIntensity(), ClearScreen(), OpenWindowedScreen(), DisplaySolidSprite(), CloseScreen(), SetFrameRate(), IsScreenActive(), StartSpecialFX(), StopSpecialFX(), ResizeGadget(), JoystickAxisX(), JoystickAxisY(), ChangeGamma(), SetWindowCallback(), Red(), Green(), Blue() hinzugefügt
- Procedure Adresse hinzugefügt (@ProcedureName())
- Unterstützung für das 'Console' Executable Format hinzugefügt
- Änderung bei LoadSprite()
- Änderung bei DisplayPalette (Screen-Argument entfernt)
- Änderung bei ExamineJoystick()
- Änderung bei OpenScreen (Text$ Parameter hinzugefügt)
- Änderung bei FontRequester (anfänglicher Fontname und -größe hinzugefügt)
- Änderung bei Frame3DGadget (Stil-Flag für Rahmen hinzugefügt)
- Große Fehler in den DirectX Routinen (Sprite, Keyboard, Movie) bereinigt. Jetzt laufen alle sehr gut im Multitasking !
- Repariert: Icon-Support für ToolBar und Image Library
- Repariert: SelectedFontName()
- Repariert: ClearGadgetItemList(), wenn es zusammen mit TreeGadget() benutzt wird
- Repariert: LoadFont() (falsche Y-Größe)
Editor:
- Hinzugefügt: optionales Autosave (automatisches Speichern) vor dem Compilieren
- Hinzugefügt: Unterstützung für beliebige Zeichensätze
- Hinzugefügt: Einschalten/Ausschalten der Syntax-Einfärbung
- Hinzugefügt: 2 neue Komponenten beim Einfärben: 'Normaler Text' und 'Prozeduren/Befehle'
- Hinzugefügt: Sprachen-, Zeichensatz- und Farbänderung in Echtzeit
- Hinzugefügt: neues 'About' Fenster, viel besser jetzt ;-)
- Aktualisiert: Ultra-schnelles Syntax-Highlighting beim Laden einer Sourcecode Datei
- Aktualisiert: Art des Syntax-Highlighting geändert (viel besser)
1. August 2001 : Version 2.40
- Befehle für Data Unterstützung hinzugefügt: Read, Restore, Data, DataSection, EndDataSection
- Fließkomma-Zahlen Unterstützung (in einem frühen Status)
- MemoryBank Library hinzugefügt
- StatusBar Library hinzugefügt
- Image Library hinzugefügt
- Systray Library hinzugefügt
- Viele neue Befehle hinzugefügt:: EventlParam(), EventwParam(), ListIndex(), ListCount() ChangeCurrentElement(),
ToolBarImageButton(), EventMouseButton(), UseDirectory()
- CreatePopupMenu() und DisplayPopupMenu() hinzugefügt
- TreeGadget(), ImageGadget(), ButtonImageGadget(), AddTreeGadgetItem() hinzugefügt
- ListIconGadget(), AddListIconGadgetItem(), ChangeListIconGadgetDisplay(), AddGadgetColumn() hinzugefügt
- Änderung des Standard-Typs von 'Word' (16 Bit) in 'Long' (32 Bit)
- Änderung: WaitWindowEvent()/WindowEvent() geben jetzt alle Window Ereignisse zurück !
- Änderungen bei: ComboBoxGadget(), PanelGadget() und ListViewGadget()
- Änderung: ExamineDirectory() -> Anzahl hinzugefügt, um das Untersuchen mehrerer Verzeichnisse zur selben Zeit zu ermöglichen
- Repariert: CopyFile() (Überschreiben funktionierte nicht)
- Repariert: FrontColour() (Text-Farbe änderte sich nicht..)
- Repariert: GetGadgetState(), SetGadgetState() und RemoveGadgetItem() zur Unterstützung des PanelGadget
- InitWindow(), InitRequester(), InitToolBar(), InitFont(), InitFile() und InitMenu() entfernt (Initialisierung erfolgt jetzt automatisch)
17. Mai 2001 : Version 2.30
- Zum Editor hinzugefügt: Drag & Drop auf dem Hauptfenster, automatische Registry Unterstützung für .pb Dateien, automatisches Einrücken, Tab/Shift+Tab um einen markierten Block einfach einzurücken.
- Tonnen neuer Befehle hinzugefügt: GetGadgetState(), SetGadgetState(), AddGadgetItem(), RemoveGadgetItem(), ClearGadgetItemList()
PanelGadget(), ClosePanelGadget(), TextGadget(), SpritesCollision(), Delay(), OptionGadget(), Frame3DGadget()
Loc(), PeekW/B(), PokeW/B(), GetPathPart(), GetFilePart(), RunProgram(), DoubleClick(), PathRequester()
- 'Tab' Unterstützung zur Gadget Bibliothek hinzugefügt.
- Compiler-Anweisungen hinzugefügt: CompilerIf/Else/Endif, CompilerSelect/Case/Default/EndSelect
- CD-Audio Bibliothek hinzugefügt
- FileSystem Bibliothek hinzugefügt
- Added a build-in ICON linker (no more need GoRC)
- Debugger verbessert (Schritt für Schritt / 'Step by Step' arbeitet jetzt perfekt)
- Optimierung der generierten Executable (kleiner und schneller)
- Vollständige Neuprogrammierung des Compiler Ausdruck-Prozessors-Kerns
- Einige garstige Bugs im Compiler beseitigt
- Compiler und Editor Größen reduziert (90 Kb anstelle 148 Kb und 33 Kb anstelle von 96 Kb)
- LSR, LSR in die betreffenden << und >> geändert
- AddComboBoxItem() und AddListViewItem() in das gemeinsame AddGadgetItem() geändert
- Tonnen kleiner Verbesserungen und Bug-Fixes, zu umfangreich alle einzeln aufzuführen
25. März 2001 : Version 2.20
- Debugger Laufzeit (Runtime) Unterstützung für alle Pure Bibliotheken hinzugefügt. Ein Programm stürzt jetzt nicht mehr so einfach ab. Es ist jetzt viel einfacher, Bugs aufzuspüren !
- NT4.0 Unterstützung bei den Multimedia Bibliotheken (Sprite, Palette, Sound & Keyboard) hinzugefügt, welches auch die Entwicklung von auf NT4.0 laufenden Spielen oder Multimedia-Anwendungen ermöglicht !
- Einige neue Funktionen hinzugefügt: Lof(), ReadMemory(), WriteMemory(), PeekS(), PokeS(), NetworkClientEvent(), SetGadgetFont(), WaitWindowEvent(), FileSeek()
- Eine brandneue Module Bibliothek hinzugefügt, die einfaches Abspielen von ProTracker, FastTracker oder ImpulseTracker Modulen ermöglicht.
- Speichern von Projekteinstellungen für jede Datei hinzugefügt (Executable Name, Compiler-Einstellungen etc...)
- Einstellungs-Fenster zum einfachen Konfigurieren des Editors hinzugefügt (Farbe, Standard-Verzeichnis etc..)
- Mehrsprachen-Unterstützung (Englisch, Französisch und Deutsch) für den Editor hinzugefügt
- Icon (.ico) Unterstützung beim Erstellen eines Executable hinzugefügt !
- Win32 Hilfe-Support (beim Drücken von F1 über einer Windows-Funktion) hinzugefügt)
- Viele Bug-Fixes am Compiler, dieser ist jetzt viel zuverlässiger.
- Aktualisierung der Dokumentation
26 Februar 2001 : Version 2.10
- Added the debugger to walk easy trough a program. It features step by step, stop,
continue, quit (useful to quit an infine loop...) and can be invoqued and controlled
via the source code with the following commands: CallDebugger, EnableDebugger, DisableDebugger
- Improved the editor a lot: contextual help (F1 on a keyword), Goto, Compiler Options, much better
syntaxe highlightning, '.prefs' file
- Added new commands: ListViewGadget(), AddListViewItem(), GetGadgetText(), SetGadgetText(), PeekS(), SizeOf()
- Multilangage added to the editor (French, German, English)
- Microsoft Windows © resident file added containing all the constants and structures needed for easy OS
programming under PureBasic.
- Fixed lot of bugs and improved the whole stability
17. Dezember 2000 : Version 2.00 - Final release
- Bereinigung aller bekannten Bugs, die 2D Drawing Library hinzugefügt und einige wesentliche Verbesserungen
28. November 2000 : Version 2.00 PR 3
- Bereinigung der mit DirectX zusammenhängenden Fehler
- Eingebauter Editor (Syntax-Highlighting und direkter Zugriff auf den Compiler!)
- 2 neue Bibliotheken hinzugefügt (Requester und ToolBar)
12. November 2000 : Version 2.00 PR 2
- Vielzahl an Fehlern wurde bereinigt. Danke an alle Bug-Reporter :)
- 6 neue Bibliotheken hinzugefügt (Sprite, Joystick, Keyboard, Sound, Network und Palette)
22. Oktober 2000 : Version 2.00 PR 1
- Erstes öffentliches Release von PureBasic x86. Nur für Testzwecke.
|