Seite 15 von 22

Re: Multicolor Procedure List

Verfasst: 19.06.2019 09:57
von Kurzer
Das mit der abgedockten procedureliste kannte ich auch noch nicht. Danke für den Tipp. [WINKING FACE]

PS: Es fällt einem im Laufe der Zeit ja immer wieder eine Kleinigkeit auf.
Derzeit verhält sich dein Tool beim Anklicken eines Listeneintrags genau so wie das PB IDE Pendant, nämlich dass die Prozedur angesprungen und aufgeklappt(!!) wird, sofern sie zugeklappt war. Dieses automatische Aufklappen finde ich schon bei der originalen Prozedurliste nervig. Wenn ich eine Prozedur zuklappe, dann möchte ich sie in der Regel nicht sehen.

Sicher, man kann jetzt argumentieren, dass man eine Prozedur offenbar editieren möchte, wenn man sie in der Prozedurliste anwählt und daher das automatische Aufklappen der angesteuerten Prozedur auch korrekt ist. Aber ich nutze das gern auch als Sprungziel, um mir einen Überblick in einer bestimmten Region zu verschaffen. Manchmal verklicke ich mich auch einfach nur um eine Zeile, so dass ich eigentlich die Prozedur drunter oder drüber editieren möchte.

Kurzum: Ich fände es ein nettes feature, wenn man irgendwie beide Usecases unter einen Hut bringen könnte.
Als Vorschläge fallen mir ein:
- Einfachklick = Prozedur nur anspringen
- Doppelklick = Prozedur anspringen und das folding togglen (auf/zu/auf/zu/usw.)
- Das ganze kann auch gern auch wieder mit einem hidden switch in der Settings.ini konfigurierbar sein

Re: Multicolor Procedure List

Verfasst: 19.06.2019 21:11
von RSBasic
Multicolor Procedure List 1.2.6 wurde veröffentlicht.

Changelog:
  • Hinzugefügt: Einstellung "Zur aktuellen Prozedur automatisch scrollen" wurde hinzugefügt
  • Hinzugefügt: Einstellung "Automatisches Ausklappen der Prozedur nach dem Klick deaktivieren" wurde hinzugefügt
  • Bugfix: IMA-Fehler, wenn sich der Cursor am Ende des Quellcodes befand.
  • Bugfix: Falsche Erkennung des aktuellen Moduls.
DePe hat geschrieben:Wenn man nach dem Laden einer größeren Datei, mit der Tastatur per 'Strg+Ende' an das Ende der Datei springt, gibt es einen Speicherzugriffsfehler. Das passiert bei dem langsamen PIII, da dauert der Sprung eine gute Sekunde. Aber auch bei einem Pentium M mit 1,4 GHz und Windows 7, da ist der Sprung sofort und wird auch angezeigt. Dann wird aber der Fehlerdialog angezeigt.
IMA-Fehler wurde behoben.
DePe hat geschrieben:Wenn man die Modulnamen anzeigen läßt, wird die Prozedur nicht in der Liste markiert.
Es lag u.a. am folgenden Code:

Code: Alles auswählen

UseModule Language
UseModule Common
UseModule Tool
UseModule Module
UseModule Ini

Code: Alles auswählen

; Die übergebenen Parameter sichern, auch wenn das Module schon existiert hat,

Code: Alles auswählen

; Das Module in der Verwaltung ermitteln für die weitere Verwendung.
Ich habe es angepasst und es funktioniert jetzt mit den von dir hochgeladenen Includes. Sowohl UTF8 als auch Reintext. Ich habe den Cursor von oben nach unten bewegt. Jede Prozedur inkl. Modul wird jetzt korrekt ermittelt und in der Prozedurliste markiert.
Vielen Dank für die Inkludes, die sehr gut zum Testen waren.
Kurzer hat geschrieben:Eine aktivierbare Autoscrollfunktion für die Prozedurliste wäre bei längeren Codes in Verbindung mit dem Anzeigen der aktuellen Prozedur ganz nützlich. Also bei Codes, wo die Prozedureliste länger ist als der Bildschirm hoch. Mit Autoscrolling würde sich dann die Prozedurliste immer automatisch in die entsprechende Richtung bewegen, wo sich die aktuelle Prozedur befindet. So hat man diese (sofern das highlighning für die aktuelle Prozedur aktiv ist) immer im Blick innerhalb der Liste.
Erledigt
Josh hat geschrieben:Bevor ich mir das Tool zum Testen herunterlade habe ich noch eine Frage. Funktioniert das Tool auch in der externen Prozedurliste oder nur in der Angedockten?
Ich habe mir das genauer angeschaut. Da die Prozedurliste in einem separaten Fenster mit zufälligem Klassennamen angezeigt wird, ist es schwierig, das Fenster zu finden. Außerdem würde mein Werkzeug nur dann funktionieren, wenn das Fenster offen ist.
Mein Vorschläg wäre: Ich füge eine Einstellung hinzu, die dafür sorgt, dass mein Werkzeug nicht in der PB-Werkzeugtafel eingefügt wird, sondern in einem separaten Fenster angezeigt wird.
Die einzige Voraussetzung wäre, dass du die Prozedurliste in der Werkzeugtafel hinzufügst. Die originale Prozedurliste muss nicht sichtbar oder ausgeklappt sein. Es geht nur darum, dass die Prozedurliste vorhanden ist.
Dann wäre es möglich, dass mein Werkzeug in einem separaten Fenster angezeigt wird.
Gibt es für dich einen Nachteil, wenn du die originale Prozedurliste in der Werkzeugtafel hinzufügst?
Wenn nicht, dann kann ich diese Einstellung hinzufügen.
Kurzer hat geschrieben:Derzeit verhält sich dein Tool beim Anklicken eines Listeneintrags genau so wie das PB IDE Pendant, nämlich dass die Prozedur angesprungen und aufgeklappt(!!) wird, sofern sie zugeklappt war. Dieses automatische Aufklappen finde ich schon bei der originalen Prozedurliste nervig.
Ja, das finde ich manchmal auch nervig.
Kurzer hat geschrieben:Kurzum: Ich fände es ein nettes feature, wenn man irgendwie beide Usecases unter einen Hut bringen könnte.
Als Vorschläge fallen mir ein:
- Einfachklick = Prozedur nur anspringen
- Doppelklick = Prozedur anspringen und das folding togglen (auf/zu/auf/zu/usw.)
- Das ganze kann auch gern auch wieder mit einem hidden switch in der Settings.ini konfigurierbar sein
Erledigt. Da ich PB nicht sagen kann, dass PB die Prozedur nach dem Klick nicht ausklappen soll, muss ich nach dem Klick manuell einklappen. Deshalb ist es manchmal kurz das Aus- und Einklappen sichtbar.
Reicht dir die Einstellung aus oder möchtest du unbedingt zusätzlich die Unterscheidung zwischen Einfachklick und Doppelklick fürs Ausklappen und Nicht-Ausklappen?

Re: Multicolor Procedure List

Verfasst: 19.06.2019 21:52
von Josh
RSBasic hat geschrieben:Gibt es für dich einen Nachteil, wenn du die originale Prozedurliste in der Werkzeugtafel hinzufügst?
Sorry, Werkzeugtafel will ich nicht, schon alles probiert. Zusammengeschoben schaut es nur beschissen aus und nimmt mir beim Bildschirm im Hochformat zu viel Platz weg. Eingeklappt ist nur nervig, da die Werkzeugtafel immer sofort ausklappt, wenn man mit dem Cursor an den Rand kommt. Mach dir nicht zu viel Arbeit, bin bis jetzt ohne Prozedurliste auch zurecht gekommen. Trotzdem danke für deine Bemühungen.

Re: Multicolor Procedure List

Verfasst: 19.06.2019 22:25
von RSBasic
Multicolor Procedure List 1.2.7 wurde veröffentlicht.

Changelog:
  • Bugfix: Das automatische Scrollen zur Prozedur ist jetzt kompatibel mit der PB-Einstellung "Prozedur-Argumente anzeigen"

Re: Multicolor Procedure List

Verfasst: 20.06.2019 14:36
von RSBasic
Multicolor Procedure List 1.2.8 wurde veröffentlicht.

Changelog:
  • Geändert: Deaktivierung der blauen Markierung, wenn die Prozedurliste den Fokus hat. Z.B. wenn man auf die Scrollleiste klickt.
  • Bugfix: Zur aktuellen Prozedur automatisch scrollen: Diese Funktion wird jetzt auch beim Start ausgeführt.
@Kurzer
Beide Punkte sind erledigt.

Re: Multicolor Procedure List

Verfasst: 20.06.2019 17:44
von Kurzer
Super, vielen Dank.
Works like a charm. Ich habe keine weiteren Probleme gefunden. :allright:

Re: Multicolor Procedure List

Verfasst: 21.06.2019 11:24
von DePe
RSBasic hat geschrieben:Ich konnte bezüglich des Cursorproblems unter Windows XP jetzt endlich nachstellen und habe nach mehreren, unterschiedlichen Tests herausgefunden, dass unter Windows XP ein Umlautproblem besteht. Sobald im Quellcode ein Umlautzeichen vorhanden ist, dann wird dieses Zeichen nicht ein Zeichen berechnet, sondern zwei Zeichen (oder gar keins?). Aufgrund dessen verschiebt sich die Cursorposition um 1 pro Umlaut, weil er das Umlautzeichen per WinAPI nicht korrekt unter Windows XP ermitteln kann. Wenn du z.B. in deiner Prozedur viele Umlaute hintereinander schreibst, dann verschiebt sich der ermittelte Cursor noch weiter oder wenn du alle Umlaute entfernst, dann funktioniert die Anzeige wieder korrekt, egal wie groß der Quellcode ist.

Zum Ermitteln des Quellcodes aus dem Arbeitsspeicher des Prozesses von PureBasic benutze ich UTF8. Das ist das, was Windows XP anscheinend nicht kann oder nicht richtig unterstützt.

Ehrlich gesagt möchte ich ein 17 Jahres altes Betriebssystem nicht mehr unterstützen.
Ich weiß nicht was du gemacht hast, aber mit der Version 1.2.8 werden die Prozeduren jetzt auch unter Windows XP richtig angezeigt. Ich kann die Fehler nicht mehr nachstellen. Bei mir hat sich nichts geändert, weder der PC, noch PB, und die Testdateien sind unverändert.

Edit: Es funktioniert auch mit der Version 1.2.7, die 1.2.6 habe ich verpaßt. Mit der 1.2.5 gibt es wieder die Fehler.
Peter

Re: Multicolor Procedure List

Verfasst: 21.06.2019 11:28
von RSBasic
Ich habe testweise ASCII statt UTF8 fürs Auslesen des Quellcodes aus dem Speicher ab der neuen Version benutzt.
Scheint also Windows XP-kompatibel zu sein.

Re: Multicolor Procedure List

Verfasst: 26.06.2019 23:03
von diceman
Und auch hier nochmal ein "Top" von mir. :allright:
Alleine das Feature, die derzeit aktive Prozedur grafisch hervorgehoben zu sehen, ist Gold wert.

Re: Multicolor Procedure List

Verfasst: 27.06.2019 09:21
von Josh
RSBasic hat geschrieben:Ich habe testweise ASCII statt UTF8 fürs Auslesen des Quellcodes aus dem Speicher ab der neuen Version benutzt.
Scheint also Windows XP-kompatibel zu sein.
Pb verwendet wie die meisten Programmiersprachen ausschließlich Zeichen mit einem Ascii Code kleiner 127. Wenn du dein Programm so schreibst, wie wenn du einen reinen Ascii Code hast, sollte das immer funktionieren und könnte eventuell sogar schneller sein.

Andere Zeichen können nur in Stringliteralen vorkommen, die sollten dich aber nicht berühren. Da kannst auch mit .a drüber humpeln.