Aktuelle Zeit: 24.09.2020 16:24

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags: Re: Inline-Berechnungen funktionieren nicht (mehr)
BeitragVerfasst: 10.04.2020 11:55 
Offline

Registriert: 21.01.2008 19:11
MightyMAC hat geschrieben:
...
EDIT: Ich habe jetzt gerade PB 5.72 64-bit installiert. Hier funktioniert es ohne Probleme. D.h. das Problem tritt bei allen 32-bit Versionen auf. Das sollte es aber nicht, oder?
Das kann ich nicht bestätigen. Unter Win7 mit PB5.72LTSx86 erhalte ich als Ergebnis:
WholeHeight=47882.8125
Es ist exakt das Ergebnis wie mit der x64-Version.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Inline-Berechnungen funktionieren nicht (mehr)
BeitragVerfasst: 10.04.2020 12:16 
Offline

Registriert: 07.01.2007 18:11
Wohnort: Duisburg
Mit beiden Procedures?

_________________
Windows XP 32-bit SP3, Windows 7 64-bit, PB 4.60, PB 5.11, PB 5.20


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Inline-Berechnungen funktionieren nicht (mehr)
BeitragVerfasst: 10.04.2020 13:53 
Offline
Moderator
Benutzeravatar

Registriert: 15.06.2008 18:22
Wohnort: Dresden
Kann es unter 5.71 x86 bestätigen.

_________________
Win10 x64 | PB 5.72 (x86 und x64)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Inline-Berechnungen funktionieren nicht (mehr)
BeitragVerfasst: 10.04.2020 14:23 
Offline
Benutzeravatar

Registriert: 10.09.2004 09:59
Scheint tatsächlich den Stack zu verknisknaddeln, zumindest bei x86 (und Win10?)

Aber der Code ist absolut furchtbar zur Ursachenforschung (o.k. nicht nur dafür...)!
Ich habe das mal aufs wesentliche reduziert:
Code:
EnableExplicit

Procedure.d GetLineHeight()
   
   VectorFont(LoadFont(0, "Segoe UI", 12), 12)
   VectorTextHeight("a")

  ProcedureReturn 15.2
EndProcedure

Procedure.d GetWholeHeight()
   Protected Result.d
   
   Result = 0.0
   Debug "Stimmt: " + GetLineHeight()
   Result + GetLineHeight()
   Debug "Stimmt nicht: " + Result

  ProcedureReturn Result
EndProcedure

OpenWindow(0, 0, 0, 500, 300, "Test")
CanvasGadget(0, 0, 0, 500, 300)
StartVectorDrawing(CanvasVectorOutput(0))
Debug "Stimmt natürlich auch nicht: " + GetWholeHeight()
StopVectorDrawing()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow


_________________
Link tot?
Ändere h3x0r.ath.cx in hex0rs.coderbu.de und alles wird gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Inline-Berechnungen funktionieren nicht (mehr)
BeitragVerfasst: 10.04.2020 16:00 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Die VectorDrawing zerstört unter Windows 10 (PB-X86) die Floating-Point Registers (Floating-Point-Stack?)

Habe den ASM-Code und den Stack (ESP) überprüft. Stack (ESP) ist Ok

Code:
EnableExplicit

LoadFont(0, "Segoe UI", 12)

Procedure.d GetLineHeight(Font)
  Protected r1.d
 
  If StartVectorDrawing(WindowVectorOutput(0))
    VectorFont(FontID(Font))
    r1 = VectorTextHeight("a")
    StopVectorDrawing()
  EndIf
 
  ProcedureReturn r1
EndProcedure

Procedure.d GetLineHeight2(Font)
  Protected r1.d
 
  If StartDrawing(WindowOutput(0))
    DrawingFont(FontID(Font))
    r1 = TextHeight("a")
    StopDrawing()
  EndIf
 
  ProcedureReturn r1
EndProcedure


Procedure.d GetWholeHeight()
   Protected Result.d
   
   Debug "VectorDrawing"
   Result = 0.0
   Debug "Ok: " + GetLineHeight(0)
   Result + GetLineHeight(0)
   Debug "Faild: " + Result
   Debug "2dDrawing"
   Result = 0.0
   Debug "Ok: " + GetLineHeight2(0)
   Result + GetLineHeight2(0)
   Debug "Ok: " + Result

  ProcedureReturn Result
EndProcedure

OpenWindow(0, 0, 0, 500, 300, "Test")
Debug "Result: " + GetWholeHeight()
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.7x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Zuletzt geändert von mk-soft am 10.04.2020 16:27, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Inline-Berechnungen funktionieren nicht (mehr)
BeitragVerfasst: 10.04.2020 16:24 
Offline
Benutzeravatar

Registriert: 24.11.2004 13:12
Wohnort: Germany
Habe es als Bug gemeldet

Link: https://www.purebasic.fr/english/viewto ... =4&t=75069

_________________
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul / OPC-Helper DLL
PB v3.30 / v5.7x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Inline-Berechnungen funktionieren nicht (mehr)
BeitragVerfasst: 11.04.2020 11:14 
Offline

Registriert: 21.01.2008 19:11
MightyMAC hat geschrieben:
Mit beiden Procedures?
Mit beiden Prozeduren.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Inline-Berechnungen funktionieren nicht (mehr)
BeitragVerfasst: 12.04.2020 17:03 
Offline

Registriert: 07.01.2007 18:11
Wohnort: Duisburg
Danke an euch alle für eure Rückmeldungen und insbesondere an mk-soft für die Bug-Meldung. Das Projekt, das mir vor einem halben Jahr Probleme bereitet hat verwendet die PB-Vector-Library nicht, allerdings verwende ich dort GDI+. Verwendet das auf Betriebssystemseite zufällig die selben Bibliotheken/Resourcen?

_________________
Windows XP 32-bit SP3, Windows 7 64-bit, PB 4.60, PB 5.11, PB 5.20


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 18 Beiträge ]  Gehe zu Seite Vorherige  1, 2

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 17 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye