Verknüpfung ins Startmenü erstellen

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Verknüpfung ins Startmenü erstellen

Beitrag von felix96 »

Die Delphi funktionen funktionieren bei mir nicht :-(
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Verknüpfung ins Startmenü erstellen

Beitrag von knight »

Und die Frage lautet ...
Bei Problemen dieser Art ist es immer hilfreich wenn du uns mitteilst, welche Schritte du bislang unternommen hast. Dazu die üblichen Informationen zu den eingesetzten Versionen. Daß die unterschiedlichen Betriebssysteme auch verschiedene 'Startmenüs' haben, ist dir hoffentlich bewußt.

knight

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Verknüpfung ins Startmenü erstellen

Beitrag von felix96 »

Ich habe einen Edit-Komponent auf dem Formular, in den muss man den Pfad eingeben :-)
Und meine Schritte die ich bisjetzt gemacht habe: Verzweifelt bei Google geguckt, und immer geklagt das die delphi Methoden nicht funktionieren :cry:
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Re: Verknüpfung ins Startmenü erstellen

Beitrag von RSE »

"Die Delphi Methoden" ist keine präzise Aussage. Keiner von uns hat eine Glaskugel, um zu sehen, welche du damit meinst.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Verknüpfung ins Startmenü erstellen

Beitrag von felix96 »

RSE hat geschrieben:"Die Delphi Methoden" ist keine präzise Aussage. Keiner von uns hat eine Glaskugel, um zu sehen, welche du damit meinst.

Damit meine ich dasd hier:

Code: Alles auswählen

function CreateLink(lpszPathObj,lpszPathLink,lpszDesc:string):Boolean;
var psl : IShellLink;
ppf : IPersistFile;
begin
Result:=false;
if SUCCEEDED(CoCreateInstance(CLSID_ShellLink,nil,CLSCTX_INPROC_SERVER, IID_IShellLinkA, psl)) then begin
psl.SetPath(PChar(lpszPathObj));
psl.SetDescription(PChar(lpszDesc));
if SUCCEEDED(psl.QueryInterface(IID_IPersistFile,ppf)) then begin
ppf.Save(StringToOLEStr(lpszPathLink),TRUE);
Result:=true;
end;
end;
end; {CreateLink}
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Re: Verknüpfung ins Startmenü erstellen

Beitrag von RSE »

Das ist schonmal ein erster Ansatz, an dem man sieht, dass du direkt mit WinAPI-Aufrufen arbeitest. Die Header dazu sind in der Unit windows definiert, diese musst du höchstwahrscheinlich einbinden, damit Lazarus die Befehle findet. Damit wird deine Application natürlich plattformabhängig. Hilfe für die API-Aufrufe gibt es dann im MSDN.

Optimal wäre es nun, wenn du schreiben würdest an welcher Stelle im Quelltext welcher Fehler auftaucht. Versuch doch einfach mal alles zu vergessen, was du über dein Projekt weißt, dann liest du deine Fragen und wenn du dann die Frage nicht exakt eingegrenzt siehst, dann musst du noch zusätzliche Informationen bereitstellen. Je besser du darin bist (gute Fehlerbeschreibung), desto höher sind deine Aussichten auf eine für dich passende Lösung.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Verknüpfung ins Startmenü erstellen

Beitrag von felix96 »

War über Silvester weg.

Also als erstes hackt es in der Zeile:

Code: Alles auswählen

var psl : IShellLink;
muss man wohl was einbinden.
Naja irgendwie wird mir der gesamte Quelltext angestrichen bei den Fehlermeldungen: :cry:

unit1.pas(34,25) Error: Identifier not found "IShellLink"
unit1.pas(34,25) Error: Error in type definition
unit1.pas(35,23) Error: Identifier not found "IPersistFile"
unit1.pas(35,23) Error: Error in type definition
unit1.pas(38,34) Error: Identifier not found "CoCreateInstance"
unit1.pas(38,50) Error: Identifier not found "CLSID_ShellLink"
unit1.pas(38,75) Error: Identifier not found "CLSCTX_INPROC_SERVER"
unit1.pas(38,92) Error: Identifier not found "IID_IShellLinkA"
unit1.pas(39,9) Error: Illegal qualifier
unit1.pas(40,9) Error: Illegal qualifier
unit1.pas(41,22) Error: Illegal qualifier
unit1.pas(41,53) Error: Identifier not found "IID_IPersistFile"
unit1.pas(42,9) Error: Illegal qualifier
unit1.pas(58) Fatal: There were 13 errors compiling module, stopping
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Verknüpfung ins Startmenü erstellen

Beitrag von Hitman »

Als würde das in Delphi "einfach so" funktionieren ...
uses Windows, ActiveX, ShlObj;

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Re: Verknüpfung ins Startmenü erstellen

Beitrag von RSE »

Wie du siehst: Präzise Frage, präzise Antwort. Bitte in Zukunft immer so! Und immer daran denken: Ein Forum ist eine Hilfe zur Selbsthilfe, bei denen User anderen Usern helfen. Dabei gilt also besonders: Wie man in den Wald ruft, so tönt es zurück. Je ausführlicher und höflicher deine Fragestellung formuliert ist, desto ausführlicher und höflicher (und damit für dich informativer) werden die Antworten sein.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Verknüpfung ins Startmenü erstellen

Beitrag von Euklid »

Wenn es ein Programm für die Allgemeinheit sein soll, ist es vielleicht eleganter, die Startmenüeinträge durch einen Installer oder unter Linux durch das Paketsystem einrichten zu lassen.

Viele Grüße, Euklid

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Verknüpfung ins Startmenü erstellen

Beitrag von Targion »

Wenn ich mich richtig erinnere, sind Links unter Windows sowieso nur Dateien mit einer Ini-Struktur und der Endung *.lnk
Also könntest du die Datei auch manuell mit TIniFile erstellen.

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Verknüpfung ins Startmenü erstellen

Beitrag von Hitman »

Lnk sind mit sicherheit keine Ini Dateien. Du meinst wohl eher die URL Files ;-)

RSE
Beiträge: 462
Registriert: Mi 30. Jul 2008, 13:11
OS, Lazarus, FPC: WinXP SP3 (L 0.9.28.2 FPC 2.2.4)
CPU-Target: 32Bit
Kontaktdaten:

Re: Verknüpfung ins Startmenü erstellen

Beitrag von RSE »

Also mir hängt da auch noch irgend so was im Hinterkopf. Allerdings habe ich gerade den Versuch gestartet und eine *.LNK und eine *.PIF (Link zu einem Dos-Programm) mit Notepad geöffnet. Das sind beides keine normalen INIs... Vielleicht ist das ´ne veraltete Info aus Win3.1-Zeiten.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!

felix96
Beiträge: 287
Registriert: So 29. Nov 2009, 17:44
CPU-Target: 32BitWin+64bitUbunt

Re: Verknüpfung ins Startmenü erstellen

Beitrag von felix96 »

Danke für eure Hilfe, habe es jetzt hinkriegt :wink:
Wollte eigentlich noch den Quelltext posten, habe ihn aber verschlampt :oops:

P.s. Sorry, wegen den "Delphi Methoden".
Danke schonmal für eure Antworten
it´s not a bug, it´s a feature!

Antworten