Seite 6 von 6

Re: ("MU")

Verfasst: 27.05.2007 20:06
von Kiffi
String hat geschrieben:Oder haben das die richtigen Leute schon mitbekommen?
eigentlich liest Freak hier mit und meldet sich auch dann und wann zu Wort.
Entweder er hat es noch nicht gelesen, weil er z.Zt. intensiv mit der 4.1er
beschäftigt ist oder aber er hofft, dass das ganze hier im Sande verlaufen
wird.

Grüße ... Kiffi

Verfasst: 27.05.2007 20:18
von String
Danke für die Info.
Na dann warte ich mal auf die 4.1

Verfasst: 27.05.2007 20:36
von ts-soft
http://www.purebasic.fr/english/viewtop ... 432#170432

Ist offiziel ein UserBug :mrgreen:
und es ist schon lange bekannt!

Debuggerwarnung fehlt aber anscheinend noch
freak hat geschrieben:Why would you want to replace an empty string. What should be the result of that ?
It makes no sense.

Verfasst: 27.05.2007 20:53
von Falko
Wenn diese Funktion in der Stringlibrary (29.12.2007) vorhanden ist, hätte
dieser evt. schon unter www.purebasic.com/beta geändert sein müssen, oder
wurde wie so oft beiseite vergessen :mrgreen:


Gruß Falko

Verfasst: 27.05.2007 21:24
von String
UserBug oder nicht !
Es sollte zumindest eine Debuggerwarnung geben.
Wobei ich ein Leeres Ergebnis vorziehen würde.
Aber das überlasse ich lieber freak.
Anfangs hat oder wollte er es ja auch Fixen.

Verfasst: 28.05.2007 14:41
von Falko
Wenn das OnErrorGosub funktionieren würdet, könnte man doch Fehler abfangen, oder?


Folgendes Beispiel hängt auch :oops:
Ich hoffe nicht das hier auch noch Vista als Dumme PB-Ausrede kommt :mrgreen:
(Das Error-Beispiel aus der Hilfe mit "Division by Zero" funktioniert auch nicht)

Code: Alles auswählen

  Procedure ErrorHandler() 
    v = MessageRequester("Es trat ein Fehler auf...", "Das Programm fortsetzen?", 20) 
    If v = 7
      End 
    EndIf 
  EndProcedure
 

Procedure Test_A(Test.s)
    Test_Eins.s = StringField(Test.s, 1, ";")
    Debug ReplaceString(Test.s,Test_Eins , " ")
EndProcedure

OnErrorGosub(@ErrorHandler())

Debug "Start"
Debug ""
Test_A(";ABC;DEF;GHI")
Debug ""
Debug "Ende"
Gruß Falko

Verfasst: 28.05.2007 15:26
von String
Hallo Falko bei OnErrorGosub muss der Debugger deaktiviert werden.
Hast du bestimmt im Eifer des Gefechts vergessen.
Allerdings geschieht dann das was ich bei dem ReplaceString auch erwarte.
Er gibt nichts zurück.
Und das Programm läuft weiter.

Das Beispiel in der Hilfe funktioniert. Debugger Deaktivieren


Was mir allerdings noch aufgefallen ist.
(Und bitte keine Diskussionen über Sinn & Unsinn oder Programmaufbau)

Hier noch eine lustige Geschichte.
Vorgehensweise
1. Task- Manager aufrufen
2. Das Programm ohne Debugger Starten
3. Scheinbar passiert nichts.
4. Nix da der Task- Manager hat jetzt ca. 50 % Auslastung

Code: Alles auswählen

Procedure ErrorHandler()
  MessageRequester("Fehler", "xxx", 20)
EndProcedure
 
Procedure.s Test_A(Test.s)
    Test_Eins.s = StringField(Test.s, 1, ";")
    Test.s = ReplaceString(Test.s,Test_Eins , " ")
    ProcedureReturn Test.s
EndProcedure

OnErrorGosub(@ErrorHandler())
MessageRequester("",Test_A(";ABC;DEF;GHI") ,0)