2009-06-19 12 views
1

Weiß jemand, ob es möglich ist, eine bestimmte PowerBuilder-Anwendung (für die ich normalerweise nicht den Quellcode habe) eine benutzerdefinierte Erweiterung (eine nicht-visuelle Erweiterung), die ich zur Verfügung stelle, zu machen?Load PowerBuilder Erweiterung automatisch

Ich weiß, dass ich meine .pbd zur Bibliotheksliste des PowerScript-Ziel in PowerBuilder hinzufügen könnte, aber wenn eine komplette PowerBuilder-basierte GUI gegeben wird, gibt es vielleicht eine Konfigurationsdatei, die ich von Hand bearbeiten und den Pfad angeben kann meine extra .pbd, so dass es geladen wird, wie die Anwendung startet?

Antwort

2

Wenn Sie den Quellcode haben, die Sie Sie zeigen nicht, Sie SetLibraryList können die Laufzeitbibliothek Liste geändert werden (iirc AddToLibraryList ist nicht für den einen oder anderen Grund zu empfehlen). Durch Lesen der Startbefehlszeile können Sie dann zur Laufzeit Bibliotheken austauschen, um bestimmte Versionen einzubeziehen.

Mir ist keine Möglichkeit bekannt, eine vorhandene PB.exe zu patchen, um so etwas zu tun.

Auch wenn Sie ein außergewöhnlicher Hacker sind, sind die PB-produzierten .exes wirklich Bootstrap-Loader für die PB VM. Sie müssen also die Struktur der "exe" verstehen, um die Liste der Ladezeitbibliotheken zu beeinflussen über Patchen. Wenn Sie einfach eine Implementierung eines Objekts/einer Funktion gegen eine andere austauschen, sind Sie möglicherweise fertig, andernfalls müssen Sie wissen, wie Sie eine bestimmte PBD/DLL patchen, um die Funktion (en) in Ihrer hinzugefügten Bibliothek aufzurufen.

2

Ich glaube nicht, dass es eine einfache Möglichkeit gibt, eine PB.EXE zur Laufzeit zu patchen - die Liste der. PBDs ist vor der Kompilierung definiert und ich kenne keine Möglichkeit, es zur Laufzeit zu ändern. Sie könnten das Dekompilieren und/oder Bearbeiten der EXE-Datei untersuchen, aber dies ist wahrscheinlich nicht trivial.

2

Die kurze Antwort ist nein. Ohne die Quelle können Sie die Erweiterung nicht hinzufügen oder irgendetwas in einer solchen Erweiterung aufrufen.

Verwandte Themen