![]() |
Projekt-Willkommensseite mit Hyperlinks
Hallo-
Über Projekt -> Optionen für Projektseite kann man sich ja eine "Projektseite" (HTML) setzen die bei jedem Öffnen des Projekts direkt geöffnet wird (statt dem ersten Formular). Das nutze ich schon lange sehr gerne, jetzt möchte der Seite allerdings ein paar Links auf .pas-Dateien verpassen sodass diese bei einem Klick direkt in der IDE geöffnet werden. Was mittels JavaScript (wovon ich keine Ahnung habe) möglich ist schaue ich mir bei der Delphi Welcome Page ab (C:\Program Files (x86)\Embarcadero\Studio\x.0\Welcomepage). Ich habe es einmal folgendermaßen versucht:
Code:
Der erste Hyperlink öffnet einen "Speichern Unter..."-Dialog für die angegebene Datei.
<html>
<head> <script> function openFileLink(fileName) { try { external.Application.OpenFile(fileName); } catch(e) { alert(e.message); } } </script> </head> <body> <p> Test! <br/> <a href="../GUI/GUI.MainForm.pas">GUI.MainForm</a> <br /> <a href="javascript:external.Application.MainForm.FileNewItem.Click">Invoke FileNewItem</a> <br/> <a href="javascript:openFileLink('../GUI/GUI.MainForm.pas')">This is a test (relative Path)</a> <br /> <a href="javascript:openFileLink('k:/GUI.MainForm.pas')">This is a test (absolute Path)</a> </p> </body> </html> Das
Delphi-Quellcode:
ist ein Test ob ich überhaupt die "Spezielmethoden" der IDE aufrufen kann. Es klappt.
Application.MainForm.FileNewItem.Click
Das Öffnen mittels relativem Pfad schlägt fehl denn als Basis-Pfad wird nicht der Projektpfad oder etwas anderes sinnvolles verwendet sondern C:\windows\system32. Der letzte Eintrag ist das ganze einmal mit absoluten Pfaden, das scheint zu klappen. Wie macht man das richtig? |
AW: Projekt-Willkommensseite mit Hyperlinks
|
AW: Projekt-Willkommensseite mit Hyperlinks
Ich wusste bis jetzt gar nicht, dass dies möglich ist. :shock:
Wo genau stellt man das ein? |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Ich finde nirgendwo Doku was ich über JavaScript machen kann, wie z.B.
Delphi-Quellcode:
javascript:external.Application.MainForm.FileNewItem.Click
|
AW: Projekt-Willkommensseite mit Hyperlinks
Das ist wohl eines dieser Features, die einer von Tausend IDE-Anwendern benutzt.
|
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Delphi-Quellcode:
aus projectActions.js
external.Application.OpenFile(fileName);
|
AW: Projekt-Willkommensseite mit Hyperlinks
Grundsätzlich kann man sehr viel mit Javascript im allgemeinen anstellen. So wird z.B. auf der Willkommenseite das recht bekannte und verbreitete JS-Framework JQuery verwendet (
![]() Soweit ich das gesehen hab, wird das external.Application-Objekt wohl direkt vom IDE-Browser zur Verfügung gestellt und ist undokumentiert. |
AW: Projekt-Willkommensseite mit Hyperlinks
Ich pushe noch ein letztes mal, vielleicht hat ja noch jemand eine schlaue Idee.
Ansonsten schade. Ich liebe diese Projektspezifischen Willkommensseiten, aber da wäre ja noch eine Menge nicht ausgeschöpftes Potential wenn es nicht ginge, gezielt Dateien aus dem Projekt per Link zu öffnen. |
AW: Projekt-Willkommensseite mit Hyperlinks
Ich wärme dieses ältere Thema mal auf, so gibt es einen Anknüpfungspunkt. Ich bin gerade auch über diese Möglichkeit gestolpert, bloß will es hier absolut nicht funktionieren (weder unter XE7 noch unter 10.4.2).
Die als Projektseite angegebene HTML-Datei wird nicht beim laden des Projekt geöffnet. Situation: Progjekt in: D:\Dev\DX10\FileIO Dort auch die HTML-Datei "Content.html" gespeichert, diesen Namen habe ich auch unter Projekt, "Optionen für Projektseite" angegeben. Aber wie gesagt, die Seite wird eben nicht beim öffnen des Projekts angezeigt. Falls Ihr das erfolgreich nutzt: gibt es sonst noch etwas, das man berücksichtigen müsste? |
AW: Projekt-Willkommensseite mit Hyperlinks
Hast du zufällig die Delphi-eigene Welcome Page abgeschaltet?
|
AW: Projekt-Willkommensseite mit Hyperlinks
Nein, die ist da. Funktioniert das denn bei Dir?
|
AW: Projekt-Willkommensseite mit Hyperlinks
Nein, funktioniert hier auch nicht mit 10.4.2
|
AW: Projekt-Willkommensseite mit Hyperlinks
hallo,
wenn man der *.dproj Datei einen anderen Namen gibt als die der *.dpr dann scheint es zu funktionieren. |
AW: Projekt-Willkommensseite mit Hyperlinks
Ich wusste bisher gar nicht, dass es das gibt. Gar nicht so uninteresant, aber wenn es nicht funktioniert ...
Ich habe es gerade in Delphi 10.4, 10.3, 10.2, 10.1 und 10 ausprobiert, jeweils mit den neusten Updates, aber es passiert gar nichts. Muss man mehr machen als in dem Dialog eine normale html-Datei anzugeben? |
AW: Projekt-Willkommensseite mit Hyperlinks
aber dproj und dpr heißen doch immer gleich
und lassen sich auf normalem wege garnicht anders benennen? habt ihr die html auch mit in die projektverwalting aufgenommen? also rechts bei units einfach mit reinziehen. und wen es ginge, dann wäre ein absoluter Pfad ein NOGO. eventuell kann man aber variablen ala $(ProjectPath) benutzen. |
AW: Projekt-Willkommensseite mit Hyperlinks
Ich hatte es mal auf den Delphi-Tagen mit Delphi 10.2.2 gezeigt, aber mit 10.2.3 bekomme ich es heute auch nicht mehr zum Laufen.
|
AW: Projekt-Willkommensseite mit Hyperlinks
hallo,
ich hab's im Explorer umbenannt. Ist mit Sicherheit nicht der offizielle Weg, aber bei mir, 10.4.2 funktioniert's. Gruß |
AW: Projekt-Willkommensseite mit Hyperlinks
bedenke auch, dass die DPROJ eigentlich keine billige Optiondatei ist, sondern ein komplettes MSBuild-Script, was von anderen scripen aufgerufen werden kann (GroupProj) und welches durch die ide verwaltet wird.
z.B. in Projektverwaltung oder OI umbennennen oder speichern unter. und eben die Projektoptionen ändern. aber per-se wäre es echt geil, also eine DPR mit mehreren DPROJ, unterschiedlicher Delphies, anstatt jeder mit eigener DPR bzw. DPK. :thumb: |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Könnte aber jedenfalls eine sehr nützliche Sache sein, sei es, wie der Ersteller des Threads es wollte, bestimmte Dateien zu öffnen oder direkt wichtige Infos für das Projekt hier anzeigen zu lassen (z.B. wenn man es erst mal eine Zeit später wieder ansieht). Schade, dass es nicht funktioniert, der Weg die Proj.-Datei umzubenennen bringt aus meiner Sicht zuviel durcheinander. Werde hier mal einen QC-Eintrag machen.... |
AW: Projekt-Willkommensseite mit Hyperlinks
|
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Natürlich gibt es nicht immer alle diese .dproj-Dateien. Manche Projekte sind nur für eine Delphi-Version gedacht, da gibt es dann nur die reguläre .dproj-Datei. Andere gibt es nur für Delphi 2007 und eine weitere Version. Ziel ist, alles auf 10.2 umzustellen. Das geht aber endgültig erst, wenn wir alle unsere Windows XP Rechner losgeworden sind. Ich habe mir dazu noch ein Tool geschrieben, das automatisch die korrekte Delphi-Version aufruft, wenn man eine Projektname.xxx.dproj-Datei öffnet: ![]() |
AW: Projekt-Willkommensseite mit Hyperlinks
Liste der Anhänge anzeigen (Anzahl: 1)
Es geht doch:
Damit hat es bei mir gerade in einem Testprojekt unter Delphi 10.4.2 funktioniert. Wichtig ist anscheinend, dass die Datei Teil des Projekts sein muss (also in der .dproj-Datei stehen muss). |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Wie ist es, wenn Du alle Dateien des Projekts schließt, und dann das Projekt erneut öffnest? (Dabei unterstellt, dass DPR und DPROJ den gleichen Namen haben). |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Aber: Wenn man unter Tools -> Options "Save project desktop when closing" deaktiviert und/oder die .dsk-Datei löscht, wird beim nächsten Öffnen des Projekts die HTML-Datei angezeigt. Ist einerseits logisch, denn wenn man den Desktop speichert, will man natürlich beim nächsten Öffnen alles so vorfinden, wie man es verlassen hat. Andererseits führt es das Project Page Feature ad absurdum. |
AW: Projekt-Willkommensseite mit Hyperlinks
[QUOTE=dummzeuch;1487805]
Zitat:
|
AW: Projekt-Willkommensseite mit Hyperlinks
OK, das ist aber jetzt doch interpretationsfähig. Sieht man diese Projekt-Page als Info für jemanden, der ein ihm unbekanntes Projekt erstmalig öffnet, ergibt es durchaus Sinn, diese Seite nur dann anzuzeigen, wenn keine DSK-Datei existiert. Mich würde es schon stören, wenn ich meinen Desktop speichere und beim erneuten Öffnen mir trotzdem diese HTML-Seite angezeigt wird, obwohl ich doch meine zuletzt geöffnete Unit erwarte.
|
AW: Projekt-Willkommensseite mit Hyperlinks
Wie immer wäre dann in diesem Falle eine optionale Einstellung sinnvoll.
Man könnte diese Seite nämlich nicht nur nutzen, um wichtige Infos da aufzuschreiben, sondern z.B. ein wenig mehr geordnet alle Projektdateien dort als zu öffnende Dateien oder Links zu anderen relevanten Dokumenten anzuzeigen. |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Es wäre auf jeden Fall eine gute Idee, dieses Verhalten zu dokumentieren. Ein sinnvolles Verhalten wäre, sie immer dann automatisch zu öffnen, wenn sie seit dem letzten Anzeigen verändert wurde. Aber das ist nicht ganz simpel zu implementieren, denn wo speichert man, wann sie zuletzt angezeigt wurde? Vielleicht in der .dsk-Datei. Hm, müsste man nochmal durchdenken, aber dazu bin ich jetzt zu müde (abgesehen davon, dass ich es sowieso nicht ändern könnte). |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Sollte in der Tat auch so reichen... |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
alle anderen guten Hilfen abzuschalten, damit man was anderes nutzen kann wäre echt eine "schwachsinnige" Funktionserweiterung. |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Delphi-Quellcode:
<a href="javascript:window.open('file:GUI.MainForm.pas','_parent')">This is a test (relative Path)</a>
<a href="javascript:window.open ('file:k:/GUI.MainForm.pas','_parent' )">This is a test (absolute Path)</a> |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
|
AW: Projekt-Willkommensseite mit Hyperlinks
Liste der Anhänge anzeigen (Anzahl: 1)
Na ja, das mit dem externen Programmstart über javascript lass ich mal, da muss man wohl active-X im Interenet-Explorer aktivieren, ist mir zu unsicher.
Ansonsten bin ich gerade dabei eine sinnvolle Anwendung der Projekt-Seite umzusetzen: Ich erweitere den Pascal Project-Manager, bzw. den Editor so, dass er neben der Standard-Dokumentation bei Bedarf auch eine Projektseite für Delphi erstellt, die sieht aktuell so aus wie in dem anliegenden Screenshot dargestellt (die zu erstellen dauert mal gerade 2 Sekunden). Es werden alle Projekt-Units alphabetisch gelistet und per einfachem Mausklick kann man die Dateien in Delphi öffnen. Darunter werden Informationen ausgegeben, die man im Dokumentations-Dialog im Pascal-Editor eingegeben hat (also allgemeine Infos und Projekt-Infos). So habe ich für jedes Projekt alle wichtigen Infos direkt parat und sehe es direkt in Delphi, ohne den Projekt-Manager bzw. Editor öffnen zu müssen. Man kann auf der Seite per Strg+F suchen und Suchergebnisse werden farblich hervorgehoben. Aber für heute mache ich jetzt erst mal Schluss, morgen mehr... |
AW: Projekt-Willkommensseite mit Hyperlinks
selbst wenn nicht als Projektseite eingetragen. man kann fast alle Dateitypen in Projektverwaltung aufnehmen und dann über Projektverwaltung und F6 öffnen, also gingen auch mehrere "projektseiten".
ein paar Livetemplates für codevervolltändigung, für den Integrierten HTML-Edior aus den beispielen hier, wären dann bestimmt ganz hilfreich. HTML kann die Delphi IDE ja bearbeiten, sogar mit Wirsing. :D |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
das funktioniert leider nicht, das wäre zu unsicher. Gruß |
AW: Projekt-Willkommensseite mit Hyperlinks
Zitat:
Man kann aber hoffen oder beim Hersteller betteln, dass soeine Funktion in der IDE eingebaut würde, Welche sich dann vom JavaScript aus aufrufen ließe, und nicht auf die Beschränkungen des TWebBrowsers und JavaScript/JQuery beschnitten wäre. Vielleicht gibt es das ja auch bereits, in den geheimen und undokumentierten funktionen, wie z.B. das external.Application.OpenFile natürlich könnte man auch ein eigenes Protokoll im Windows registrieren (ftp: http: javascript: sind auch nur Protokolle, die dann irgendwo hingeleitet werden), im Hintergrund einen lokalen Server laufen lassen und dann solche Befehle via URL/URI ins eigene Programm übergeben, aber wesentlich besser wäre es, wenn es die IDE direkt anbietet. |
AW: Projekt-Willkommensseite mit Hyperlinks
Liste der Anhänge anzeigen (Anzahl: 2)
@MMW: Ich habe ja schon in Beitrag 33 gesagt, dass ich es wegen der Unsicherheit lasse, eine Exe ausführen zu wollen.
Im übrigen habe ich noch ein wenig weiter gearbeitet, die Sache sieht jetzt aus wie im anliegenden Screenshot. Bild 1 zeigt das Ergebnis der Projectpage in Delphi und Bild 2 den erweiterten Dialog im Pascal Project Manager & Editor, um diese Seite zu erstellen (neue Version ist online). |
AW: Projekt-Willkommensseite mit Hyperlinks
So, abschließend habe ich noch ein kleines Video (7 Min) gemacht, das zeigt, wie man die Funktionalität "Optionen für Projektseite" nutzt und es richtig zum Laufen bekommt. Auch zeige ich kurz, wofür ich es jetzt hier nutze. Bei Interesse hier:
![]() |
AW: Projekt-Willkommensseite mit Hyperlinks
Gibt es evtl. irgendwo eine Beschreibung, welche Befehle man sonst noch mit
Code:
aufrufen kann?
javascript:external.Application.MainForm.FUNCTION
|
AW: Projekt-Willkommensseite mit Hyperlinks
Über die OTA kann man "schön" via RTTI durch Vieles der IDE iterieren und schauen was es gibt (auch wenn teilweise die erweiterte RTTi bei einigen Klassen deaktiviert wurde).
Vor allem für den Compiler/LLVM/GetIt/... gibt es in BDSBIN viele DLLs, die man als TypeLib/ActiveX importieren und so ihre "Funktionen" sehen könnte. (wenn der TypLib-Import dort bei einigen der DLLs im Delphi nicht so grottig abstürzen würde) Diese "Exports" sind ja wohl eigentlich für MSBuild gedacht, aber die IDE/InlineCompiler selber nutzt sie ja vermutlich auch. (doppelt implementieren wäre ja "blöd") Man müsste dann "nur" mal sehen wo das Application bzw. Application.MainForm her kommt und was man dort weiter entdecken kann. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz