Die Idee finde ich auch gut.
c4s hat geschrieben:GPI hat geschrieben:Ach die benötigen Parameter kann man das in Macro simpel mit einbinden. Das ist imo nicht das Problem.
Wie denn? Der "FUNCTIONLIST"-Befehl gibt leider nur folgendes Schema aus, das erst konvertiert werden müsste und keine Angabe dazu hat, was die optionalen Parameter für einen Wert haben (0 oder "" geht bzw. stimmt nicht immer):
OpenWindow (#Window, x, y, InnerWidth, InnerHeight, Title$ [, Flags [, ParentID]]) - Opens a new window according to the specified parameters.
Das musste ich jetzt auch feststellen, nachdem ich den
Code von Danilo ausprobiert habe.
Da ich keine Lust habe, alle Parameterlisten manuell für die Macros zu schreiben, wollte ich das mit dem Code erledigen lassen.
Aber leider ist die Ausgabe unbrauchbar. Man könnte zwar die einzelnen Hilfetexte mit Hilfe eines Tools problemlos konvertieren:
OpenWindow (#Window, x, y, InnerWidth, InnerHeight, Title$ [, Flags [, ParentID]]) - Opens a new window according to the specified parameters.
OpenWindow(Window, x, y, InnerWidth, InnerHeight, Title, Flags, ParentID)
Aber leider fehlen die Standard-Parameterwerte, die ich nicht ermitteln kann, die unbedingt festgelegt werden müssen, damit optionale Parameter weiterhin unterstützt werden.
Man könnte ein Tool schreiben, um in der PB-Hilfe nach solchen Standardwerten zu suchen, aber das wird eher schwierig werden, weil es nicht immer erkennbar ist, welcher Wert oder welche Konstante bei optionalen Parametern übergeben wird.
Oder man lässt die ganze Parameterliste weg und nutzt stattdessen
die zukünftige Funktion zum Beschreiben eigener Prozeduren/Macros/Strukturen. Das wäre toll.

Aber ob und wann sowas umgesetzt wird, ist leider ungewiss.
Die einzige Idee, die mir einfällt, ist das Missbrauchen der APIFunctionListing.txt-Datei im Compiler-Verzeichnis. Es funktioniert zwar und die Beschreibung wird korrekt für die Funktion (z.B. Window::Open) in der Statusleiste angezeigt, aber leider mit einem Nachteil, dass alle von Macros überschriebenen Funktionen am Ende "_" lauten müssen. (Window::Open_(...))