Seite 21 von 23

Re: Multicolor Procedure List

Verfasst: 12.09.2023 17:39
von Kurzer
RSBasic hat geschrieben: 11.09.2023 21:37 Ich habe einen Diff von meiner und deiner Preference-Datei gemacht. Extrem viele Einstellungen, die existieren, aber nach aufwendiger Schritt-für-Schritt-Rekonstruierung habe ich nun eine Einstellung gefunden, die diesen Unterschied macht und zwar: ... usw...
Nun kenne ich den Unterschied zwischen meinen und deinen Einstellungen und kann jetzt die Ursache beheben.
Alter Falter, RS-"Sherlock" Basic-"Holmes" war am Werk. :-D
Da hast du dir ja Mühe gemacht, aber hat sich offenbar gelohnt. Bin heute erst jetzt am Rechner und werde mir das gleich mal runterladen und ausprobieren. Vielen Dank für's schnelle fixen :allright:

Nachtrag:

So, ich habe das jetzt mit meiner Installtion getestet und kann bestätigen, dass deine drei Bugfixes erfolgreich sind.

Bugfix: Scrollbar der Prozedurenliste war nicht sichtbar.
Bugfix: Kommentare, die Klammer enthalten, wurden nicht erkannt.
Bugfix: Wenn die PB-Einstellung "Prozedur-Argumente anzeigen" aktiviert war und wenn ein Modulaufruf in der Prozedur-Parameterliste vorhanden war, dann gab es ein Darstellungsproblem.

Funktioniert jetzt alles tadellos.

Was noch nicht funktioniert (du hast es aber auch nicht als gefixt deklariert) sind diese beiden Punkte:

2) Wenn der Caret auf einer Kommentar-Markierung steht, dann werden in deinem Tool alle Kommentar-Markierung hervorgehoben (sofern sie identischen Inhalt haben.

3) Steht der Caret hinter einem "EndProcedure", aber noch vor dem nachfolgenden "Procedure" der nächsten Prozedur, dann wird noch immer die darüber stehende Prozedur hervorgehoben.

Und mir ist aufgefallen, dass neben dem Scrollbalken noch so 2 - 3 Pixel frei sind, die nicht repainted werden. Wenn man dort ein anderes Fenster über die PB IDE schiebt, dann schmiert man sich da ein paar Pixel in den Zwischenraum.

Ich denke mal, dass du dein Fenster direkt über das PB-eigene Prozeduren-Panel zeichnest und das PB-eigene Prozeduren-Panel keine repaint Message mehr bekommt. Wenn dann das überlagerte Fenster zu schmal ist, bleiben die Pixel des "fremden Fensters" offenbar ungelöscht dort liegen.

Bild

Re: Multicolor Procedure List

Verfasst: 14.09.2023 22:33
von Kurzer
Hallo RSBasic,

ich bin gerade wieder auf dem Win 11 Notebook unterwegs.
Neuste Version installiert und.... Juhu, die Fontgröße passt wieder 1A, auch unter Win 11.
Die Kompilierung mit DPI-Awareness hat in dem Fall also geholfen. Cool. Vielen Dank. :allright:

Re: Multicolor Procedure List

Verfasst: 16.09.2023 21:01
von RSBasic
Multicolor Procedure List 1.3.6 wurde veröffentlicht.

Changelog:
  • Verbessert: ANSI-Code wird genauso unterstützt wie UTF-8-Code
  • Bugfix: Schrift- und Hintergrundfarbe eines Prozedureintrages wurden nicht gleichzeitig angezeigt.
  • Entfernt: "Aktuell"-Anzeige, weil man sieht bereits in der Prozedurenliste, in welcher Prozedur sich der Cursor befindet.
  • Verbessert: Bessere Cursor-Erkennung vor und nach Prozedur und Kommentar.
  • Bugfix: Benutzerdefinierte Farben überschrieben andere Farben.
  • Geändert: Wenn mehrere gleiche Kommentare existieren, dann wird auch nur der Kommentar, in dem sich der Cursor befindet, in der Prozedurliste hervorgehoben.

DePe hat geschrieben: 12.09.2023 07:39 ab der Version 1.3.4 werden bei mir Kommentare die z.B. Umlaute enthalten, nicht mehr in der Prozedurliste hervorgehoben. Das liegt wahrscheinlich an der Änderung vom Auslesen als UTF8, und ich verwende das ANSI-Format (PlainText). Unter den Schaltflächen wird der Text bzw. die Umlaute dann auch mit Diamond/Fragezeichen dargestellt. 'Current: > K?nnen ...'
Behoben
DePe hat geschrieben: 12.09.2023 07:39 Mit der Version 1.3.5 funktioniert das Hervorheben allgemein nicht mehr richtig. Ich kann entweder die Hintergrundfarbe setzen, oder die Vordergundfarbe, beides gemeinsam zeigt nur die geänderte Vordergrundfarbe an.
Behoben.
Grund war, dass ich mir Zeilen sparen wollte und habe folgenden Code:

Code: Alles auswählen

If HighlightProcedure_Color > 0
  *NMLVCustomDraw\clrText = HighlightProcedure_Color
EndIf
If HighlightProcedure_BackColor > 0
  *NMLVCustomDraw\clrTextBk = HighlightProcedure_BackColor
EndIf

If HighlightProcedure_Color > 0 Or HighlightProcedure_BackColor > 0
  ProcedureReturn #CDRF_NEWFONT
EndIf
in

Code: Alles auswählen

If HighlightProcedure_Color > 0 
  *NMLVCustomDraw\clrText = HighlightProcedure_Color
  ProcedureReturn #CDRF_NEWFONT
EndIf
If HighlightProcedure_BackColor > 0
  *NMLVCustomDraw\clrTextBk = HighlightProcedure_BackColor
  ProcedureReturn #CDRF_NEWFONT
EndIf
zusammengefasst, aber das sorgt dafür, dass man wegen ProcedureReturn nur eine Farbe davon nutzen kann. Ich hab es wieder rückgängig gemacht und es funktioniert wieder.
Kurzer hat geschrieben: 11.09.2023 11:30 3) Steht der Caret hinter einem "EndProcedure", aber noch vor dem nachfolgenden "Procedure" der nächsten Prozedur, dann wird noch immer die darüber stehende Prozedur hervorgehoben.
Behoben
Kurzer hat geschrieben: 12.09.2023 17:39 Und mir ist aufgefallen, dass neben dem Scrollbalken noch so 2 - 3 Pixel frei sind, die nicht repainted werden. Wenn man dort ein anderes Fenster über die PB IDE schiebt, dann schmiert man sich da ein paar Pixel in den Zwischenraum.
Ich kann es bei mir nicht nachstellen, aber ich habe eine Vermutung, weil ich beim Resizen die PB-Funktion DesktopUnscaledX() vergessen habe.
Könntest du mit dieser Version nochmal prüfen?
Falls das Problem immer noch besteht, weiß ich leider nicht, woran das liegt bzw. wie ich es beheben kann.
Kurzer hat geschrieben: 11.09.2023 11:30 2) Wenn der Caret auf einer Kommentar-Markierung steht, dann werden in deinem Tool alle Kommentar-Markierung hervorgehoben (sofern sie identischen Inhalt haben... ist möglicherweise von dir so gewollt, irritiert aber eher und war meiner Meinung nach auch schon mal anders ;-) ). Edit: Ah, das zeigt noch mehr nonsense an (siehe GIF) und hat offenbar mit Punkt 3 zu tun. Eine Kommentar-Markierung wird gar nicht angezeigt (;- Private procedures (imp)).
Ich habe es angepasst, so dass immer nur der Kommentar, in dem der Cursor sich befindet, in der Prozedurliste hervorgehoben wird und nicht mehr alle.

Re: Multicolor Procedure List

Verfasst: 16.09.2023 23:45
von Kurzer
Moin RSBasic,

vielen Dank für die neue Version! Sie macht einen guten Eindruck bis auf die u,g, Einschränkung. :allright:
RSBasic hat geschrieben: 16.09.2023 21:01 [*]Geändert: Wenn mehrere gleiche Kommentare existieren, dann wird auch nur der Kommentar, in dem sich der Cursor befindet, in der Prozedurliste hervorgehoben.
Das funktioniert leider nicht bei meinen kurzen "Trenner-Kommentaren ";-"
Diese Kommentare werden in der Prozedurliste gar nicht hervorgehoben. Mehr noch, die Liste wird beim Anspringen eines solcehn Kommentars ganz nach oben gescrollt, siehe GIF.

Bild
RSBasic hat geschrieben: 16.09.2023 21:01
Kurzer hat geschrieben: 11.09.2023 11:30 3) Steht der Caret hinter einem "EndProcedure", aber noch vor dem nachfolgenden "Procedure" der nächsten Prozedur, dann wird noch immer die darüber stehende Prozedur hervorgehoben.
Behoben
Jupp, das funktioniert jetzt einwandfrei.
RSBasic hat geschrieben: 16.09.2023 21:01
Kurzer hat geschrieben: 12.09.2023 17:39 Und mir ist aufgefallen, dass neben dem Scrollbalken noch so 2 - 3 Pixel frei sind, die nicht repainted werden. Wenn man dort ein anderes Fenster über die PB IDE schiebt, dann schmiert man sich da ein paar Pixel in den Zwischenraum.
Ich kann es bei mir nicht nachstellen, aber ich habe eine Vermutung, weil ich beim Resizen die PB-Funktion DesktopUnscaledX() vergessen habe.
Könntest du mit dieser Version nochmal prüfen?
Falls das Problem immer noch besteht, weiß ich leider nicht, woran das liegt bzw. wie ich es beheben kann.
Das passt jetzt pixelperfect. :allright: Einwandfrei.

Vielen Dank!

Re: Multicolor Procedure List

Verfasst: 17.09.2023 07:21
von DePe
Hallo RSBasic,

ebenfalls danke für die neue Version. Bei mir funktioniert anscheinend jetzt alles richtig.

Nur ein Unterschied zu der vorherigen Version ist mir aufgefallen. Kommentare innerhalb von Prozeduren werden nicht mehr in der Prozedurliste hervorgehoben. Das war bei den älteren Versionen auch so, aber ich fand es ganz praktisch. Entweder ist das jetzt Absicht oder ein neuer kleiner Fehler?

Peter

Re: Multicolor Procedure List

Verfasst: 28.09.2023 09:01
von DePe
Hallo RSBasic,

ich bin vor ein paar Tagen von Windows 7 32-Bit, auf die 64-Bit Version gewechselt, und jetzt erscheinen mit der aktuellen Version diese Fehlermeldungen täglich:

Code: Alles auswählen

---------------------------
Fehler
---------------------------
Es ist ein schwerwiegender Fehler aufgetreten und das Programm muss
beendet werden.
Senden Sie bitte die folgenden Informationen an support@rsbasic.de:
Datum/Uhrzeit: 25.09.2023 16:13:19
Betriebssystem: Windows 7
Anwendung: Multicolor Procedure List 1.3.6 (Build 2803)
Fehlermeldung: Invalid memory access
Speicheradresse: 5369064085
---------------------------
OK   
---------------------------
Unter Windows 32 kann ich mich an so eine Meldung nicht mehr erinnern.
Aktuell verwende ich PB v6.03 Beta 9 64-Bit mit Ansi-Textformat.

Die Prozedurliste funktioniert weiter, da ich die Taskleiste automatisch ausblende, sehe ich die Fehlermeldung nicht. Erst wenn ich die Taskleiste verwende, sehe ich oft zig gleiche Dialoge der Fehlermeldung.
Ich versuche nebenbei herauszufinden wann der Fehler auftritt.

Peter

Re: Multicolor Procedure List

Verfasst: 01.10.2023 16:45
von Kurzer
Ich kann mich dem anschließen. Win 7 x64, PB 6.02 LTS

Das ploppt immer mal wieder auf. Ich kann allerdings nicht festmachen was der Auslöser dafür ist.
Möglicherweise betrifft es nur Code, der gar keine Prozeduren enthält. Ich sitze nämlich die ganze Zeit an einem kleinen Snippet mit Testcode ohne eigene Prozeduren.

Bild

Re: Multicolor Procedure List

Verfasst: 01.10.2023 19:16
von RSBasic
@DePe & @Kurzer
Danke für den Hinweis. Ich habe jetzt einige Male versucht, den IMA-Fehler mit und ohne Prozeduren zu reproduzieren, auch mit der PureBasic.prefs-Datei von Kurzer, aber ich krieg den Fehler nicht nachgestellt. Ich versuchs weiter.

\\Edit1:
Da ihr beide Windows 7 verwendet, versuche ich mal in einer VM.

\\Edit2:
Mit Windows 7 x86 lässt sich das nicht reproduzieren. Ich installier Windows 7 x64 und versuche es erneut.

Re: Multicolor Procedure List

Verfasst: 01.10.2023 20:05
von RSBasic
Ich kann es leider gar nicht nachstellen, egal ob Windows 7 oder Windows 11, x64 oder x86, kleiner oder großer Code, mit oder ohne Prozeduren.
Vielleicht findet ihr was, wie man es reproduzieren kann.

Re: Multicolor Procedure List

Verfasst: 02.10.2023 09:41
von HeX0R
Die Fehlermeldung, die Dein Programm auswirft erscheint mir ziemlich nutzlos, probier doch mal diese Include einzubinden:
viewtopic.php?f=8&t=7021

Vielleicht kommst Du dann auf die Spur.