Seite 1 von 2

GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 08:25
von MikeHart
Moin zusammen.

Ich habe mir GoScintilla 3 runtergeladen.

https://github.com/tajmone/purebasic-ar ... oScintilla

Die Demos laufen ganz nett. Wenn man aber etwas in der jeweiligen Demo eingibt, gibt es beim Beenden immer einen Speicherfehler welcher durch die GOSCI_Free Funktion am Ende ausgelöst wird. Man soll die ja tunlichst verwenden, weil es sonst Speicherprobleme geben würde.

Systemseitig benutze ich PB Version 5.6 64bit auf Windows 7 Home 64bit.

Hat jemand eine Idee wie man den Fehler beheben könnte?

Re: GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 09:39
von Bisonte
Ich verstehe zwar jetzt nicht was mit : "Wenn man aber etwas in der jeweiligen Demo eingibt" wirklich gemeint ist,
aber eigentlich funktioniert GO_Scintilla auch unter 5.6

Allerdings habe ich keine Ahnung inwieweit Tristano an dem Source rumgebastelt hat.
Ich kann dazu empfehlen, RSBasic's wundervolle BackupSeite
aufzurufen und GoScintilla von dort herunterzuladen. Die *.pbi Dateien dürften aktuell sein.

Re: GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 10:20
von Kiffi
In Zeile 879 (GoScintilla.pbi) würde ich noch zusätzlich abfragen, ob die *this\id gültig ist:

Code: Alles auswählen

  If *this And *this\callback And IsGadget(*this\id)
Grüße ... Peter

Re: GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 11:09
von MikeHart
Bisonte hat geschrieben:Ich verstehe zwar jetzt nicht was mit : "Wenn man aber etwas in der jeweiligen Demo eingibt" wirklich gemeint ist,
aber eigentlich funktioniert GO_Scintilla auch unter 5.6
Danke für die schnelle Antwort Also du lässt eine Demo von GoScintilla laufen, zb. PBSimpleSyntax. Diese baut ein Fenster mit den Scintilla Gadget auf, setzt die Styles und füllt das Gadget mit source code. Wenn Du direkt das Fenster wieder schliesst ist alles ok. Änderst Du aber den source code auf irgendeine Weise kommt beim Schliessen besagter Fehler.
Kiffi hat geschrieben:In Zeile 879 (GoScintilla.pbi) würde ich noch zusätzlich abfragen, ob die *this\id gültig ist:

Code: Alles auswählen

  If *this And *this\callback And IsGadget(*this\id)
Grüße ... Peter
Danke, werde es heute Abend mal ausprobieren.
Bisonte hat geschrieben:Allerdings habe ich keine Ahnung inwieweit Tristano an dem Source rumgebastelt hat.
Ich kann dazu empfehlen, RSBasic's wundervolle BackupSeite
aufzurufen und GoScintilla von dort herunterzuladen. Die *.pbi Dateien dürften aktuell sein.
Falls Peters Vorschlag nicht funktioniert, versuche ich damit mal.

Re: GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 12:23
von Bisonte
MikeHart hat geschrieben:
Bisonte hat geschrieben:Wenn Du direkt das Fenster wieder schliesst ist alles ok. Änderst Du aber den source code auf irgendeine Weise kommt beim Schliessen besagter Fehler.
Da ist der Hund begraben, weil das entzieht sich unserer Kenntnis. Daher wäre da der Code (ich nehme an irgendein Beispiel) mit deiner Änderung die den Fehler produziert hilfreich....

Re: GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 12:36
von Kiffi
Bisonte hat geschrieben:Da ist der Hund begraben, weil das entzieht sich unserer Kenntnis. Daher wäre da der Code (ich nehme an irgendein Beispiel) mit deiner Änderung die den Fehler produziert hilfreich....
nein, da hat sich MikeHart etwas unglücklich ausgedrückt. Im Scintilla-Fenster wird ein Beispiel-Code angezeigt, um verschiedene Features zu demonstrieren (Folding, Highlighting, etc.). Wenn er diesen Code verändert (sprich: Änderungen in dem von Scintilla angezeigten Text vornimmt) und das Fenster danach schließt, dann gibt es einen IMA. Er spricht nicht von Änderungen am GoScintilla-Source.

Es sieht stark danach aus, dass durch die Änderung des Scintilla-Textes der zugewiesene Callback aktiv wird (in dem letztendlich dann auch der Fehler auftritt).

Grüße ... Peter

Re: GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 13:37
von MikeHart
Kiffi hat geschrieben:
Bisonte hat geschrieben:Da ist der Hund begraben, weil das entzieht sich unserer Kenntnis. Daher wäre da der Code (ich nehme an irgendein Beispiel) mit deiner Änderung die den Fehler produziert hilfreich....
nein, da hat sich MikeHart etwas unglücklich ausgedrückt. Im Scintilla-Fenster wird ein Beispiel-Code angezeigt, um verschiedene Features zu demonstrieren (Folding, Highlighting, etc.). Wenn er diesen Code verändert (sprich: Änderungen in dem von Scintilla angezeigten Text vornimmt) und das Fenster danach schließt, dann gibt es einen IMA. Er spricht nicht von Änderungen am GoScintilla-Source.

Es sieht stark danach aus, dass durch die Änderung des Scintilla-Textes der zugewiesene Callback aktiv wird (in dem letztendlich dann auch der Fehler auftritt).

Grüße ... Peter
Danke Peter, genau das meinte ich. :oops:

Re: GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 18:42
von Bisonte
Aha... Ja dann ... nehm ich alles zurück und behaupte das Gegenteil :mrgreen:

Re: GoScintilla crashed unter 5.6

Verfasst: 06.09.2017 22:34
von MikeHart
Peter's Vorschlag unterbindet das Abstürzen. Danke hierfür!

Re: GoScintilla crashed unter 5.6

Verfasst: 07.09.2017 11:23
von GPI
MikeHart hat geschrieben:Peter's Vorschlag unterbindet das Abstürzen. Danke hierfür!
Dann kenn ich vermutlich die Ursache. Wird GOSCI_Free() aufgerufen, *NACHDEM* das Fenster, wo das Gadget drin war, geschlossen wurde? Wenn ja, das ist das eigentliche Problem. Durch das Fensterschließen, wird das Gadget automatisch freigeben, das bekommt aber die GoSCI-Funktionen nicht mit. Daher krachts.