PureBasic 3.92 final (Windows)

Ankündigungen PureBasic oder die Community betreffend.
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

PureBasic 3.92 final (Windows)

Beitrag von freak »

- 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: 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
Verfügbar auf derm User-Account und via SmartUpdate.

Timo
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Ein kleiner und eigentlich unbedeutender Bug in der History_
- Repariert: ImageButtonGadget() unterstützt jetzt "Skinning" und Bitmap/Icon "Live" Umschaltung
Das müsste wohl ButtonImageGadget() heißen. ;)
Ansonsten kann ich mir immer noch nicht vorstellen, was Skinning und Live-Umschaltung bedeutet... Was genau hat sich denn da geändert?

Aber schön dass das Update so flott nach den Betas kam. Und schon dass der Compilerbug bei Zeilenlangen Float-Integer-Vergleichen so schnell gefixt wurde (da gabs es falsche Werte wenn mehrere Bedingungen per AND verknüpft wurden obwohl sie einzelnt gingen).
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Re: PureBasic 3.92 final (Windows)

Beitrag von Lebostein »

freak hat geschrieben:Optimiert: ListCount() und ListIndex() sind jetzt sehr schnell (sie durchlaufen jetzt nicht mehr jedes Element der Liste).
Sicher muss das auch "CountList()" heißen :D
Da ist Fred wohl selbst über seine eigene (teilweise inkonsequente) Benennung der Befehle gestolpert...
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

Hat irgendjemand ne Ahnung, warum man mit dem Standard-Editor die Hilfe nicht mehr aufrufen kann? Weder mit F1 bzw. dem Menü noch mit dem Rechtsklick auf einen Befehl. Habe die neue PureBasic Version komplett installiert und vorher die alte komplett deinstalliert. Die deutsche Hilfedatei "PureBasic.chm" ist, wie gewohnt, im PB-Hauptverzeichnis zu finden...


EDIT: ...komisch, wenn ich PB aus dem Hauptverzeichnise heraus mit einem Doppelklick starte, lässt sich die Hilfe öffnen. Wenn ich PB mit dem Desktop-Icon starte, dann nicht. Nach dem Löschen des Desktop-Icons und dem Neuanlegen funktioniert es jetzt...
Benutzeravatar
bingo
Beiträge: 118
Registriert: 16.09.2004 18:33
Wohnort: thüringen
Kontaktdaten:

Beitrag von bingo »

@lebostein

-> eigenschaften verknüpfung

"ausführen in" -> "C:\Programme\PureBasic\"
1:0>1
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

@bingo
Der Tip ist gut :allright:
Da TailBite auf PB3.92 noch nicht funzt habe ich PB3.91 weiterhin behalten und auch das gleiche Problem bei PB3.92 mit der Hilfe gehabt.
Jetzt, nach deinem Tip habe ich einfach von der PureBasic.exe eine neue
Verknüpfung 'PureBasic3.92' erzeugt und diese in die Startleiste wiederum verknüpft. So das ich jetzt beide PB's aufrufen kann und auch die Hilfe bei PB3.92 als auch TailBite bei PB3.91 anwenden kann.

Danke

MfG Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Beispiel aus der PB Hilfe 3.92:

Code: Alles auswählen

AddElement(people()) : people() = "Tom" 
AddElement(people()) : people() = "Dick" 
AddElement(people()) : people() = "Harry" 
AddElement(people()) : people() = "Bob" 

FirstElement(people())     ; Bewegt sich zu "Tom" 
DeleteElement(people())    ; Löscht "Tom". Da sich kein weiteres Element davor befand, wird "Dick" neues aktuelles Element. 
MessageRequester("Information", "Erste Person in der Liste ist "+people(), #PB_MessageRequester_Ok) 
^^Das Beispiel soll genau das machen, was DeleteElement() jetzt standartmäßig nicht mehr machen soll ... müsste noch berichtigt werden :D

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
Lebostein
Beiträge: 674
Registriert: 13.09.2004 11:31
Wohnort: Erzgebirge

Beitrag von Lebostein »

@bingo

Wahrscheinlich hat sich ein Fehler bei der PB-Installationsroutine eingeschlichen. Der Pfad in den Verknüpfungen wird nicht auf den Installationspfad gesetzt. Das Problem wird bereits im englischen Forum diskutiert:

http://purebasic.myforums.net/viewtopic.php?t=12894
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Beitrag von GPI »

>DeleteElement(people()) ; Löscht "Tom". Da sich kein weiteres Element
>davor befand, wird "Dick" neues aktuelles Element.

Nein falsch. Da kein Element davor liegt, ist das aktuelle Element *VOR* der Liste und ist somit ungültig.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Ynnus
Beiträge: 855
Registriert: 29.08.2004 01:37
Kontaktdaten:

Beitrag von Ynnus »

Nein falsch. Da kein Element davor liegt, ist das aktuelle Element *VOR* der Liste und ist somit ungültig.
Das ist ja was er schreibt. Die Hilfe ist noch nicht angepasst an dieses neue Verhalten, daher steht es da noch falsch drinne. Was er schrieb ist ja nur aus der Hilfedatei kopiert, so denk ich mir das zumindest.
Antworten