AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Eigenes Favoriten-Menü
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes Favoriten-Menü

Ein Thema von S2B · begonnen am 20. Mär 2004 · letzter Beitrag vom 4. Jun 2008
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#11

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 09:57
Also ich versteh nicht ganz, was die zwei Versionen sein sollen. Außerdem versuche ich gerade, das ganze mit einem neuen Dateiformat (also nicht *.url) zu machen. Ich möchte eigentlich, dass die Ini-Datei so aussieht:

Code:
[URL]
Link=http://www.delphipraxis.net/
Name=Delphi-PRAXIS
Im Menü soll dann ein Eintrag erstellt werden, der "Delphi-Praxis" heißt und als OnClick den Browser "http://www.delphipraxis.net/" laden lässt. Ich hab schon eine Form erstellt, die die Ini-Datei schreibt. Jetzt versteh ich das nicht ganz mit dem

Code:
OnURLMenuItemClick(Sender: TObject);
Wenn ich den Code so reinschreib, dann kommt ein Fehler.
Kannst du mir da weiterhelfen?
Gruß
S2B
Simon Praetorius
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#12

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 10:50
1. URL-Dateien tragen normalerweise den Namen, unter dem sie auch im Favoritenmenü auftauchen. Ein separater "name"-Eintrag in ihnen ist daher eigentlich nicht erforderlich. Will sagen: du nimmst den Namen der URL-Datei, entfernst die Endung ".url" und hast die Bezeichnung für den Menüeintrag.

2. Im Hint des Menüeintrags habe ich in Version 1 den Pfad und die Datei gespeichert. In Version 2 (s. Compilerschalter "TINIFILE") öffne ich die URL-Datei als INI und lese die Adresse aus und lege diese im Hint ab.
In deinen eigenen Dateien ist das aber wohl der Eintrag "Link", also musst du logischerweise den Befehl:
mii.Hint := ini.ReadString('InternetShortcut','URL',''); anpassen.

3. Das das Menü erst zur Laufzeit erzeugt wird, musst du den Einträgen auch eine Klickprozedur zuweisen. Und das ist "OnURLMenuItemClick". Diese prüft ob der "Sender" ein Menüeintrag ist, und ob er einen Hint hat. Wenn ja, wird "ShellExecute" benutzt um den Hint quasi zu starten. Je nach Version ist das entweder Pfad+URL-Datei (klappt, weil der URL-Typ im System bekannt sein sollte) bzw. direkt die Web-Adresse (klappt auch, weil das Protokoll bekannt sein und ein Programm/Browser zugewiesen sein sollte).

Wenn du bspw. den Namen für den Menüeintrag auch aus deiner Datei holen willst, dann musst du
mii.Caption := ChangeFileExt(ds.Name,''); (s. Code) durch den entsprechenden Lesebefehl ersetzen:
mii.Caption := ini.ReadString('URL','Name','');
Das Problem mit dem Fehler bei "OnURLMenuItemClick" habe ich jetzt nicht verstanden. Was passiert, wenn du was machst?
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#13

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 11:05
Ich hab die Procedure TForm1.OnURLMenuItemClick eingefügt und dann kamen mehrere Fehler:

Code:
1.

//Da hat er die Procedure nicht gefunden.
  mii.OnClick   := OnURLMenuItemClick;

2.

//bei "self" kam ein Fehler.
  ShellExecute(self.Handle,'open',pchar((Sender as TMenuItem).Hint),
    nil,nil,SW_SHOWNORMAL);
Wie muss man die Procedure genau einbauen (du merkst, ich bin "neu" hier)?

Gruß
S2B
Simon Praetorius
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#14

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 11:21
Ach so. Du musst die Prozedur noch als private- ... äh ... Methode/Prozedur deiner Form deklarieren:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    { ... }
  private
    procedure OnURLMenuItemClick(Sender: TObject);
    procedure LoadLocalFavorites;
  end;
Der tatsächliche Form-Name (vor dem Punkt) richtet sich damit nach dem Namen deiner Form. In meinem Fall "TForm1", bei dir kann das evtl. was ganz anderes sein.
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#15

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 11:30
Mal wieder das gute alte Problem! Delphi gibt einen Fehler aus, ich weiß aber nicht, was falsch ist:

Code:
  mii.OnClick   := OnURLMenuItemClick;
Fehler: [Error] Unit1.pas(334): Undeclared identifier: 'OnURLMenuItemClick'

Sonst stimmt alles! Ich hoffe, dass du mir weiterhelfen kannst!
Gruß
S2B
Simon Praetorius
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#16

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 13:07
Kann mir denn niemand helfen??????
Simon Praetorius
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#17

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 13:18
Findest Du es nicht ein bisschen unverschämt, nach so kurzer Zeit schon eine Schiebeposting zu tätigen?

Zeige mal ein bisschen mehr von Deinem Code. Den Interface-Teil z.B. Sonst kann man ja nur raten.
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#18

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 13:29
Sorry, aber ich wollt des Projekt heute abschließen und da hab ich wohl viel zu schnell weitergeschrieben... Sorry!!

Hier ein Teil meines Codes:

Code:
type
  TForm1 = class(TForm)
    {...} 
  private
    FOleInPlaceActiveObject: IOleInPlaceActiveObject;
    procedure MsgHandler(var Msg: TMsg; var Handled: Boolean);
    procedure OnURLMenuItemClick(Sender: TObject);
  {...}

procedure TForm1.OnURLMenuItemClick(Sender: TObject);
begin
  if(Sender is TMenuItem) and
    ((Sender as TMenuItem).Hint <> '') then
  ShellExecute(self.Handle,'open',pchar((Sender as TMenuItem).Hint),
    nil,nil,SW_SHOWNORMAL);
end;

//Im Code zum Suchen der Links:
mii.OnClick := OnURLMenuItemClick;
Ich hoffe, dass jemand ne Antwort weiß!

Gruß
S2B
Simon Praetorius
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#19

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 13:35
Hm, so auf Anhieb sehe ich keinen Fehler. Ist die Funktion, die das Zeugs zuweist, auch ein Member von TForm1?
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#20

Re: Eigenes Favoriten-Menü

  Alt 21. Mär 2004, 13:39
Was soll "Member" in dem Zusammenhang heißen??? Ich kenn mich nicht so mit den ganzen Fachausdrücken aus, bin aber lernfähig . Also wenn du meinst, dass sie in der Unit1 drinsteht, dann stimmt das! Wenn du meinst, dass man nur von der Unit1 drauf zugreift, dann stimmt das auch!
Gruß
S2B
Simon Praetorius
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz