Aktuelle Zeit: 17.12.2018 05:00

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Forum gesperrt Dieses Thema ist gesperrt. Sie können keine Beiträge editieren oder weitere Antworten erstellen.  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Fehler bei Stringverarbeitung
BeitragVerfasst: 31.03.2008 12:25 
Offline

Registriert: 06.04.2005 22:44
Hallo Leute,

ich meine einen Fehler in der Stringverarbeitung gefunden zu haben. PB4.10

Mein PRG addiert einen String bis zur Länge von 60-80kB auf.
Dazu sind verschiedene Schritte dazwischen. Im Prinzip schaut das so aus.

schreiben.s = Schreiben + teilstring.s

Dies geht bei 7-8 von 10 Fällen gut.

Manchmal setzt PURE den String zwischen drin auf null zu setzen und macht dann weiter.
Manchmal lässt PURE aber nur den Teilstring weg.....

Nachdem ich alles auf direkten Memory-Zugriff umgeschrieben habe geht das Programm in 100 von 100 Fällen ... sprich am PRG kann es nicht liegen, dass es vorher Probleme gab.

Eure Meinung dazu .....

PS: Ein For I = 1 to 1000 : Schreiben.s + "TESTDUMMY" : Next I

macht keine Fehler es muss schon etwas mehr Quell dazwischen sein...

Gruß Thomas


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2008 12:38 
Offline
Benutzeravatar

Registriert: 29.08.2004 08:48
Chr(0) in verwendung ???

_________________
Rings hat geschrieben:
ziert sich nich beim zitieren


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2008 12:44 
Offline

Registriert: 10.11.2004 03:22
yo ist auch mein gedanke dazu.

_________________
... machts gut und danke für den fisch ...


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2008 12:48 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
@Joshua314: Wie kontrollierst Du, dass der String nicht komplett ist? Via
Debugger-Ausgabe? Denk dran, dass hier bei langen Strings nicht der
komplette Inhalt dargestellt wird.

Grüße ... Kiffi

_________________
ƃᴉɹǝᴉʍɥɔs ʇsᴉ ɥɔɐɟuᴉǝ


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2008 13:08 
Offline

Registriert: 06.04.2005 22:44
Hallo Zusammen,


1. CHR(0) nein kein CHR(0) drinnen ....wie schon geschrieben......
Der gleiche Programmablauf die gleiche Art Die gleiche Quelldatei die verarbeitet wird. Nur der Button Start. 10 x gedrückt.

1. Debug nur Len(schreiben) unterschiedlich.
2. Wird der String in die Zwischenablage kopiert..... danach in einem Editor angeschaut.... da steht auf einmal am Anfang das Datum und die Uhrezit drinnen. ..... DAS IST NIRGENS im Quelltext.


Als ORG Ist hier http://db0noe.dyndns.org/Max_convert.zip
der Quell mit Datei zu finden....

Einfach PRG Starten.... Quelldatei auswählen.. und in button für die zwischenablage 10 mal benutzen zwischendurch immer mal was anderes raus...

Gruß Thomas


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2008 14:02 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Benutzt du Threads?
Dann musst du das in den Compiler-Optionen entsprechend anpassen, damit
Strings funktionieren.

_________________
Freakscorner.de - Der Bastelkeller | Neustes Video: Neje DK - 1 Watt Laser Engraver
Ubuntu Gnome 18.04.1 LTS x64, PureBasic 5.60 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 31.03.2008 14:07 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
Joshua314 hat geschrieben:
Einfach PRG Starten.... Quelldatei auswählen.. und in button für die zwischenablage 10 mal benutzen zwischendurch immer mal was anderes raus...

kann ich nachvollziehen.

Zu Testzwecken habe ich daraufhin Deinen komischen Uhren-Thread erst
einmal entfernt und aus dem WindowEvent() ein WaitWindowEvent()
gemacht.

Nun ist die Länge des Textes konstant. :cool:

Bleibt natürlich jetzt Dir überlassen, ob Du für so eine Nebensächlichkeit
wie die Zeitanzeige mittels eines Threads die Stabilität Deines
Programmes gefährden willst, oder ob Du nicht vielleicht doch lieber mit
einem Timer arbeiten möchtest ;-)

Grüße ... Kiffi

_________________
ƃᴉɹǝᴉʍɥɔs ʇsᴉ ɥɔɐɟuᴉǝ


Nach oben
 Profil  
 
 Betreff des Beitrags: Re:
BeitragVerfasst: 31.03.2008 22:20 
Offline

Registriert: 06.04.2005 22:44
@ALL

Eigentlich ja .. weil Thread's sind doch genau die Sache... Einmal Anwerfen und vergessen.....

OK wenn das an der String Verarbeitung gesamt liegt .... wusste ich nicht ....
Wo liegt denn dann die kritische Grenze ??? Oder muss man generell die Thread Sicherung bei String einschalten.... dies währe dann aber doch nicht die schlauste ART. Ich meinte immer, das mit der Thread Sicherung hat damit zu tun, wenn man Strings in den Thread rein/raus macht. Dass dies mit der allgemeinen Verarbeitung zu tun hat..... wusste ich nicht ....
Dennoch habe ich das ganze in der Zwischenzeit mit direkten Speicherzugriff gelöst. Nebeneffekt... 100x schneller....

Gruß Thomas


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Forum gesperrt Dieses Thema ist gesperrt. Sie können keine Beiträge editieren oder weitere Antworten erstellen.  [ 8 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