PB4.2B unter Vista beim beenden zeigt Deb. einen Mem-Fehler

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
Falko
Admin
Beiträge: 3531
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.0
Kontaktdaten:

PB4.2B unter Vista beim beenden zeigt Deb. einen Mem-Fehler

Beitrag von Falko »

Folgenden Testsource aus der neuen Beta habe ich aus der IDE mit
eingeschalteten Debugger getestet:

ImageMenu.pb

Code: Alles auswählen

If OpenWindow(0, 100, 100, 300, 300, "PureBasic Office Menus")
    
  LoadImage(0,"kerze.ico")
  
  If CreateImageMenu(0, WindowID(0))
    MenuTitle("File")
    MenuItem( 1, "Open...", ImageID(0))
    MenuItem( 2, "Save"+Chr(10)+"Ctrl+S")
    MenuItem( 3, "Close", ImageID(0))
    MenuBar()
    MenuItem( 4, "Quit")
    
    DisableMenuItem(0, 3, 1) 
  EndIf
  

  Repeat 
    Select WaitWindowEvent() 
      Case #PB_Event_Menu 
        Debug EventMenu()
          
      Case #PB_Event_CloseWindow
        Break ; Quit the forever loop
        
    EndSelect
  ForEver
EndIf
;End ;<-- ohne dieses End gibt es in PB ein Memoryfehler im Betabeispiel!
Läuft soweit prima, sobald ich aber beim OS: Vista Ultimat 32-Bit
auf die Schliessbox klicke taucht bei mir in der Statusleiste
folgende Debug-Fehlermeldung auf:
[ERROR] ImageMenu.pb (Line:28) -- also nach dem letzten Endif wo nix ist.
[ERROR]Invalid memory acces. (read error at adress 23526391)

Wenn ich am Sourceende ein End hinzufüge, läuft das Programm so wie es
soll.
Das Komische ist aber, das unter Windows Me der gleiche Source ohne
End keine Probleme macht

Kann das jemand unter den Vistanutzern bestätigen?

Gruß Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

hab kein vista .. aber in der Hilfe steht folgendes
End
Beendet ordentlich die Programmausführung. Der ....
das bedeutet wohl , dass ein nichtbenutzen von End unordentlich ist (was
bei einem NichtBetriebssystem wie ME scheinbar egal ist) Bei Betriebssystemen kann das dann schonmal Auswirkungen haben.

Kompiliert und ohne Debugger siehst Du die Meldung dann nicht und
der Desktop wird eventuell refresht oder sowas ..
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
mardanny71
Beiträge: 266
Registriert: 05.03.2005 01:15
Wohnort: Thüringen

Beitrag von mardanny71 »

Habe keine Fehlermeldung.
WinXP SP2
Ist also Vista - typisch.Vielleicht die Compiler - Settings.

gruss
mardanny71
Gruß, mardanny71
Windows 7 - openSUSE 12.1 - KDE 4.7 - PB4.6 beta 4
Benutzeravatar
Falko
Admin
Beiträge: 3531
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.0
Kontaktdaten:

Beitrag von Falko »

Nö, ist auch nur ab Vista so. Dieses wird auch nur unter Vista angezeigt
und nicht in den alten Windowsen.

Auch mit den Compilereinstellungen hat's wirklich nichts zu tun.

Es ist aber kein Problem, weil bei Vista wird es wenigstens angezeigt
das man nach dieser Fehlermeldung daran denken soll ein "End" zu setzen :lol:

Gruß, Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

du machst ja auch das licht aus und die tür zu wenn du das haus verlässt 8)
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Falko
Admin
Beiträge: 3531
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.0
Kontaktdaten:

Beitrag von Falko »

@bo³
Sicher hast du hierzu auch noch einen passenden Schalter, oder?
also am End liegt das nicht, sondern irgendwie wird das durch
Leerzeichen hinter dem Break hervorgerufen.

Folgender Sourcecode wird korrekt in Vista ausgeführt und erzeugt
beim Beenden keinen Fehler (Debugger eingeschaltet und F5)!

Code: Alles auswählen

If OpenWindow(0, 100, 100, 300, 300, "PureBasic Office Menus")
    
  LoadImage(0, "kerze.ico")
  
  If CreateImageMenu(0, WindowID(0))
    MenuTitle("File")
    MenuItem( 1, "Open...", ImageID(0))
    MenuItem( 2, "Save"+Chr(10)+"Ctrl+S")
    MenuItem( 3, "Close", ImageID(0))
    MenuBar()
    MenuItem( 4, "Quit")
    
    DisableMenuItem(0, 3, 1) 
  EndIf
  
  Repeat 
    Select WaitWindowEvent() 
      Case #PB_Event_Menu 
        Debug EventMenu()
          
      Case #PB_Event_CloseWindow
        Break ; Quit the forever loop
    EndSelect
  ForEver
EndIf 
Und dieser original Beta-Source hat wohl einen Wechselschalter eingebaut,
der den Fehler in Vista hervorruft :lol:

Code: Alles auswählen

If OpenWindow(0, 100, 100, 300, 300, "PureBasic Office Menus")
    
  LoadImage(0, "kerze.ico")
  
  If CreateImageMenu(0, WindowID(0))
    MenuTitle("File")
    MenuItem( 1, "Open...", ImageID(0))
    MenuItem( 2, "Save"+Chr(10)+"Ctrl+S")
    MenuItem( 3, "Close", ImageID(0))
    MenuBar()
    MenuItem( 4, "Quit")
    
    DisableMenuItem(0, 3, 1) 
  EndIf
  
  Repeat 
    Select WaitWindowEvent() 
      Case #PB_Event_Menu 
        Debug EventMenu()
          
      Case #PB_Event_CloseWindow
        Break ; Quit the forever loop
        
    EndSelect
  ForEver
EndIf 
Vielleicht kann jemand mit Vista diese beiden Sourcecodes bitte mal probieren.
Gruss Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Schalte den Profiler aus.
Benutzeravatar
Falko
Admin
Beiträge: 3531
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.0
Kontaktdaten:

Beitrag von Falko »

Danke @edel,

dann ist der Profiler an diesem Bug schuld, wenn ich das richtig verstehe.
Habe ihn nun ausgeschaltet und so läuft der sourcecode.

Grüße.. Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
Falko
Admin
Beiträge: 3531
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.0
Kontaktdaten:

Beitrag von Falko »

edel hat geschrieben:Schalte den Profiler aus.
Nun funktioniert es mit dem heutigem Profiler (siehe freaks posting) :allright:

Grüße, Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Gesperrt