Seite 12 von 23
Re: Multicolor Procedure List
Verfasst: 13.06.2019 09:14
von DePe
PB verliert direkt nach dem Start auch wieder den Fokus.
Peter
Re: Multicolor Procedure List
Verfasst: 13.06.2019 09:21
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.
Re: Multicolor Procedure List
Verfasst: 13.06.2019 09:37
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
Re: Multicolor Procedure List
Verfasst: 13.06.2019 10:21
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
Re: Multicolor Procedure List
Verfasst: 13.06.2019 20:21
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.
Re: Multicolor Procedure List
Verfasst: 14.06.2019 08:04
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
Re: Multicolor Procedure List
Verfasst: 14.06.2019 08:36
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
Re: Multicolor Procedure List
Verfasst: 14.06.2019 10:00
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
Re: Multicolor Procedure List
Verfasst: 14.06.2019 22:41
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:
?
Das könnte das Problem sein.
Re: Multicolor Procedure List
Verfasst: 15.06.2019 07:22
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