Hallo!
Ich weiß bereits, dass diese beiden Funktionen in LCLIntf zwar definiert, aber nicht implementiert sind. Habe schon mit Grep gesucht aber leider ohne efolg. Gibt es etwa eine gleichnamige und parametergleiche Windows API Funktion? Befindet die sich dann in der Windows Unit? Oder in ShellAPI oder in WinSock?
Bin grad dabei den Quellcode von Lazarus bissl zu studieren, daraus ergibt sich diese Frage. Leider sind die möglicherweise relevanten Units in unterschiedlichen Ordneren und dazu noch der Code auf zahlreiche Include Dateien verteilt, welche die Suche zusätzlich erschweren.
Wer kann mir weiter helfen und die Unit mit der Imlementation dieser beiden im Titel genannten Funktionen verraten?
OpenURL + OpenDocument in welcher Unit implementiert?
-
- Beiträge: 199
- Registriert: Di 20. Okt 2015, 23:13
Re: OpenURL + OpenDocument in welcher Unit implementiert?
Ich nehme an, dass in deinem Quellcode irgendwo "OpenURL(...)" sowie "uses lclintf" steht. Klick auf OpenURL mit gedrückter CTRL-Taste öffnet den Quelltext von OpenURL im Implementation-Teil (in früheren Versionen erfolgte der Sprung zum Interface-Teil - dann musst du noch SHIFT+CTRL+PfeilAuf oder Ab drücken um zur Implementation zu kommen.)
In diesem Fall wird die Implemantion in der Datei sysenvapis_win.inc geladen. Das ist weil ich Windows benutze. Unter Linux wird eine andere Datei geladen. Das liegt daran, dass LCLIntf je nach System andere Dateien einbindet.
Generell: Shift-Click und Shift+ctrl+Pfeilauf/ab sind die wichtigsten Tricks für die Navigation innerhalb der Lazarus/FPC Quelltexte.
In diesem Fall wird die Implemantion in der Datei sysenvapis_win.inc geladen. Das ist weil ich Windows benutze. Unter Linux wird eine andere Datei geladen. Das liegt daran, dass LCLIntf je nach System andere Dateien einbindet.
Generell: Shift-Click und Shift+ctrl+Pfeilauf/ab sind die wichtigsten Tricks für die Navigation innerhalb der Lazarus/FPC Quelltexte.
Re: OpenURL + OpenDocument in welcher Unit implementiert?
Oder mit dem Debugger durchsteppen, wenn die LCL mit Debug Info kompiliert ist.
Dann sieht man definitiv, was aufgerufen wird.
Dann sieht man definitiv, was aufgerufen wird.