AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IntraWeb Links

Ein Thema von hirnstroem · begonnen am 1. Sep 2006 · letzter Beitrag vom 4. Sep 2006
Antwort Antwort
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

IntraWeb Links

  Alt 1. Sep 2006, 14:53
'loha Folks,

es ist Freitag und ich möchte noch kleine Teilerfolge verzeichnen können vor dem Feierabend.

Ich versuche eigentlich nichts anderes als eine Prozedur zu schreiben, welche ich für jegliche klicks auf Links in einem IntraWeb Projekt verwenden kann.

An und für sich wird bei einem Klick auf einen Link immer der Name der aufzurufenden Seite übergeben (wie im Code anhand des Beispiels Logout zu sehen)

Delphi-Quellcode:
procedure Tfrm_Main.logoutbuttonClick(Sender: TObject);
begin
  LinkClick(Sender, 'Logout');
end;

procedure Tfrm_Main.LinkClick(Sender: TObject; FormName: string);
begin
  if WebApplication.FindComponent('frm_' + FormName) <> nil then
  begin
    TIWAppForm(WebApplication.FindComponent('frm_' + FormName)).Show;
  end
  else
  begin
    // create form with 'Tfrm_' + FormName and show it
  end;
  Release;
end;
Die Zweite Prozedur ist dafür da die Pages dann auch aufzurufen. Als erstes wird da überprüft ob die seite eventuell schon irgendwo ist. Da wo ich den Kommentar gesetzt habe, würde ich dann gerne eine Seite aus dem String 'frm_' und derVariable FormName welche ja beim Linkklick mitgegeben wird erzeugen.

Ich habe schon etliche Varianten ausprobiert, leider funktioniert keine.

Wie geht das?

Grüsse
hirnstroem
  Mit Zitat antworten Zitat
Cetus

Registriert seit: 2. Sep 2006
2 Beiträge
 
#2

Re: IntraWeb Links

  Alt 2. Sep 2006, 21:14
Du musst einfach als erstes alle Klassen die du so aufrufen willst mittles Classes.RegisterClasses registrieren.
Dann kannst du sie über Classes.GetClass aufrufen.
So müsste es funktionieren (nich getestet^^):

Delphi-Quellcode:
procedure Tfrm_Main.logoutbuttonClick(Sender: TObject);
begin
  LinkClick(Sender, 'Logout');
end;

procedure Tfrm_Main.LinkClick(Sender: TObject; FormName: string);
begin
  if WebApplication.FindComponent('frm_' + FormName) <> nil then
  begin
    TIWAppForm(WebApplication.FindComponent('frm_' + FormName)).Show;
  end
  else
  begin
    // create form with 'Tfrm_' + FormName and show it
   TIWAppFormClass(GetClass('Tfrm_' + FormName)).Create(WebApplication).Show;
  end;
  Release;
end;

initialization
RegisterClasses([Tfrm_Main,Tfrm_Logout]); //Alle Forms/Klassen registrieren, ich hab hier nur 2 verwendet

end.
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#3

Re: IntraWeb Links

  Alt 4. Sep 2006, 10:21
Vielen Dank! Funktioniert tadellos.
  Mit Zitat antworten Zitat
Antwort Antwort


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:33 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