Multicolor Procedure List

Anwendungen, Tools, Userlibs und anderes nützliches.
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von DePe »

PB verliert direkt nach dem Start auch wieder den Fokus.

Peter
Benutzeravatar
Kurzer
Beiträge: 1614
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: Multicolor Procedure List

Beitrag von Kurzer »

DePe hat geschrieben:Aber es stimmt mit der Berechnung der Cursorposition etwas nicht, wie Kurzer schon angemerkt hat. Die Position ist ungefähr pro 10 Zeilen um ein Zeichen falsch. Es wird also die nächste Prozedur im Tool schon angezeigt, wobei der Cursor noch in der vorherigen Prozedur steht.
Hmm, das kann ich zumindest bei meinem Code mit ca. 870 Zeilen nicht bestätigen. Wie man in dem GIF im Post oben sieht, wird die aktuelle Prozedur zeilengenau erkannt. Möglicherweise sorgt etwas anderes dafür, dass es zu einer Abweichung kommt (evtl. das Wort Prozedur in einem Kommentar oder ähnliches).

Auch das Fokusproblem kann ich nicht nachvollziehen. Nach dem Start der PB IDE kann ich sofort mit der Tastatur den Cursor bewegen und Zeichen in das Scintilla Gadget eingeben.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2023: 56 Jahre.
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von DePe »

Bei mir wird die Titelleiste von PB inaktiv dargestellt, und ich kann mit der Tastatur kein Menü öffnen. Der Editor hat allerdings den Fokus und ich kann Text eingeben.

Peter
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von DePe »

Ich habe zwei Screenshots gemacht, wo der Cursor nur um eine Zeile bewegt wurde. Vielleicht hilft es bei der Fehlersuche.

Edit: [Links gelöscht]

Peter
Zuletzt geändert von DePe am 15.06.2019 13:46, insgesamt 1-mal geändert.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von RSBasic »

Kurzer hat geschrieben:Das Tool erkennt jetzt zwar auch Prozedurnamen, wen die Prozedur zugeklappt ist, aber der Name wird dabei nur bis zur aktuellen Cursorposition ermittelt. Steht der Cursor also in einer Zeile namens "Procedure GetIrgendwas()" direkt hinter "Get", also zwischen dem "t" und dem "I", dann zeigt dein Tool in der Zeile oben "Aktuell: Get" an. Der Rest des Prozedurnamens wird nicht angezeigt.
Ja, es liegt daran, dass ab der aktuellen Cursorposition rückwärts gesucht wird.
Ich werde versuchen, ab der aktuellen Cursorposition zuerst vorwärts nach Zeilenumbruch zu suchen und dann wieder rückwärts.
Kurzer hat geschrieben:67 zu 102 Millisekunden im Vergleich zur Null_reverse Version unter den ursprünglichen Testbedingungen.
Danke für den Code. Ich werde mir den Code merken und nach Tests ggf. einbauen.
DePe hat geschrieben:Könntest du für die Anzeige der aktuellen Prozedur die selbe Schrift verwenden, wie bei den Einstellungen 'Tool Panel -> Options' eingestellt ist?
Ja, das kann ich hinzufügen.
DePe hat geschrieben:PB verliert direkt nach dem Start auch wieder den Fokus.
Ich kann gerne so machen, dass beim Start meines Werkzeuges der Fokus manuell gesetzt wird.
DePe hat geschrieben:Aber es stimmt mit der Berechnung der Cursorposition etwas nicht, wie Kurzer schon angemerkt hat. Die Position ist ungefähr pro 10 Zeilen um ein Zeichen falsch. Es wird also die nächste Prozedur im Tool schon angezeigt, wobei der Cursor noch in der vorherigen Prozedur steht.
Ich habe zwei Screenshots gemacht, wo der Cursor nur um eine Zeile bewegt wurde. Vielleicht hilft es bei der Fehlersuche.
Danke für die Screenshots.
Ich sehe da keinen Unterschied zwischen den zwei Zeilen bezüglich Code bzw. es gibt keine Besonderheiten. Das Wort "Procedure" kommt nicht mal vor.
Noch merkwürdiger ist, dass er den Namen der nächsten Prozedur ermittelt und nur teilweise.
Wenn du die zwei Prozeduren (LocalLockout() und GoToLocal()) in einem neuen Tab einfügst, kannst du das Problem da ebenfalls nachstellen?
Wenn ja, kannst du den Code beider Prozedur hier posten oder mir per PN schicken?
Dann kann ich es direkt nachstellen und ich kann prüfen, woran es liegt.
Danke im Voraus.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von DePe »

Das hat nichts mit dem Code zu tun. Jede Datei die etwas länger ist, so ab 500 Zeilen, hat das Problem. Hier sind wieder drei Screenshots. Beim letzten pb571b1_mpl5.png, steht der Cursor am ersten Zeichen. wo die Prozedur nicht mehr angezeigt wird.

Edit: [Links gelöscht]

Peter
Zuletzt geändert von DePe am 15.06.2019 16:35, insgesamt 1-mal geändert.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von RSBasic »

Ich habe hier eine Test-Datei mit 50.000 Zeilen-Code und ich kann es damit nicht nachstellen, egal wo der Cursor sich befindet. Ich werde später mal mit anderen größeren Projekten testen.
Vielleicht hat es was mit dem Datei-Format zu tun? Reiner Text oder UTF-8?
Oder Zeilenumbruch-Art? CRLF, LF oder CR?
Besteht das Problem auch, wenn du beispielsweise die Einstellung "Module-Namen ausblenden" deaktivierst?
Am besten erstellst du eine Test-PB-Datei, die du hochlädst. Damit kann man am besten und am schnelllsten nachstellen, ohne alles manuell und einzeln einstellen und analysieren zu müssen, um überhaupt nachstellen zu können. Das spart viel Zeit.
Danke im Voraus
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von DePe »

Ich habe das jetzt mit einer UTF8-Datei probiert, macht keinen Unterschied. Aktuell verwende ich aber 'Plain Text', wegen den Darstellungsfehlern in der Prozedurliste mit den 'Issues' und Umlauten unter WinXP. Der Modulname wird nie richtig angezeigt. Er ändert sich je nach Cursorposition, bleibt über einige Zeilen gleich, dann ändert er sich wieder.

Edit: [Links gelöscht]

Hier ist die Datei als Utf8 und PlainText mit den zwei Screenshots:
Edit: [Link gelöscht]

Edit: Ich verwende Tabulatoren mit 3 Zeichen in den Einstellungen und Dateien.

Peter
Zuletzt geändert von DePe am 15.06.2019 16:35, insgesamt 2-mal geändert.
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von Sicro »

DePe hat geschrieben:Das hat nichts mit dem Code zu tun. Jede Datei die etwas länger ist, so ab 500 Zeilen, hat das Problem.
Enthält vielleicht jeder Code das hier:

Code: Alles auswählen

UseModule Module
?
Das könnte das Problem sein.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
DePe
Beiträge: 153
Registriert: 26.11.2017 16:17
Wohnort: Wien
Kontaktdaten:

Re: Multicolor Procedure List

Beitrag von DePe »

Da habe ich bei der Benamsung wohl nicht richtig nachgedacht. Ein auskommentieren oder ändern des Namens ändert aber nichts. Es gibt auch keine Fehler beim Kompilieren damit.

Peter
Antworten