ReplaceString Stoppt das Programm

Fragen und Bugreports zur PureBasic 4.0-Beta.
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ("MU")

Beitrag 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
Hygge
Benutzeravatar
String
Beiträge: 69
Registriert: 17.05.2007 16:22

Beitrag von String »

Danke für die Info.
Na dann warte ich mal auf die 4.1
PB v4.**
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
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 »

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
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
String
Beiträge: 69
Registriert: 17.05.2007 16:22

Beitrag 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.
PB v4.**
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 »

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
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
String
Beiträge: 69
Registriert: 17.05.2007 16:22

Beitrag 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)

PB v4.**
Gesperrt