Aktuelle Zeit: 21.05.2018 07:14

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: ExplorerTreeGadget & GetGadgetText
BeitragVerfasst: 28.07.2015 18:07 
Offline
Benutzeravatar

Registriert: 28.07.2005 12:39
Moin,

beim portieren eines Programms ist mir aufgefallen, dass GetGadgetText die Dateinamen verunstaltet.
Z.B. :
"/Users/bubi/Library/Application Support/AddressBook/guration.plist"
statt
"/Users/bubi/Library/Application Support/AddressBook/Configuration.plist"

Getestet habe ich es mit Unicode und ohne, PB5.31/64 und MacOS 10.10.4

Kann das jemand nachvollziehen, oder habe ich einen Fehler eingebaut?
Gibt es Alternativen?

Code:
Procedure Event_ChangeDir()
  Debug GetGadgetText(0)
EndProcedure

Procedure Main() 
 
  If OpenWindow(0,0,0,500,500, "")
   
    ExplorerTreeGadget(0, 0, 0, 500, 500, GetHomeDirectory())
   
    BindGadgetEvent(0, @Event_ChangeDir(), #PB_EventType_Change)
   
    Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
   
  EndIf
 
EndProcedure:End Main()

_________________
Suche


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExplorerTreeGadget & GetGadgetText
BeitragVerfasst: 28.07.2015 19:15 
Offline
Benutzeravatar

Registriert: 25.01.2005 12:19
Es handelt sich eindeutig um einen Bug in der MacOS-Version von PB. Immer fehlen die ersten 5 Zeichen des Dateinamens. Bei Verzeichnisnamen tritt der Fehler übrigens nicht auf. Es liegt auch nicht am BindGadgetEvent(), denn wenn man eine ganz normale Event-Schleife aufbaut, tritt der Fehler genauso auf:
Code:
OpenWindow(0, 0, 0, 500, 500, "")
ExplorerTreeGadget(0, 0, 0, 500, 500, GetHomeDirectory())
 
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Break
    Case #PB_Event_Gadget
      If EventType() = #PB_EventType_Change
        Debug GetGadgetText(0)
      EndIf
  EndSelect
ForEver

#PB_EventType_Change ist auch ausdrücklich in der Hilfe für das ExplorerTreeGadget als unterstütztes Ereignis aufgeführt.

Wenn man übrigens einen Dateinamen mit weniger als 6 Zeichen anklickt, wird sogar mit folgender Fehlermeldung abgebrochen:
PureBasic Fehlermeldung hat geschrieben:
[ERROR] *** - [NSCFString substringFromIndex:]: Range or index out of bounds

Getestet habe ich mit MacOS X 10.6.8 (Snow Leopard) mit PB 5.31 x86 und x64 im ASCII- und Unicode-Modus.

Der beschriebene Fehler scheint in allen Cocoa-Framework Versionen von PB vorhanden zu sein:
- PB 5.00
- PB 5.11
- PB 5.24
- PB 5.31

Mit dem Carbon-Framework tritt dieser Fehler hingegen nicht auf:
- PB 4.61 (reine Carbon-Version)
- PB 5.00 mit Subsystem Carbon
- PB 5.11 mit Subsystem Carbon (letzte PB-Version mit Subsystem Carbon)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: ExplorerTreeGadget & GetGadgetText
BeitragVerfasst: 28.07.2015 20:42 
Offline
Benutzeravatar

Registriert: 28.07.2005 12:39
Danke dir. :allright:
Ich habe es mal im englischen Forum geposten.
http://www.purebasic.fr/english/viewtop ... 24&t=62662

_________________
Suche


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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