Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Webbroker und mehrere Seiten unter localhost

  Alt 29. Sep 2015, 11:06
Hi Olli73

Sorry, wenn ich erst jetzt antworte; gestern abend musste ich nochmal weg, und anschliessend wars zu spät.

Nun, ich hab gewissermassen das Pferd vom Schwanz her aufgezäumt und also folgendermassen begonnen:
  • Den Code im BeforeDispatch habe ich ausgeklammert und das Ding dann mal gestartet. Da ich beim Erstellen des Projektes Delphis Experten benutzt hatte, lässt sich der Server über einen Button und über einen zweiten der Standardbrowser starten. Angezeigt wird meine Index.html, und die Adresszeile enthält <http://localhost:8080/> Interessnt hier könnte vieleicht sein: der erste Teil zwischen dem beginnenden 'h' und dem letzten Slash steht nicht in der Adresszeile...
  • Auf dieser Seite befindet sich mein HTML-Menue mit mehreren Links, von denen zur Zeit nur einer funktioniert - die andern Seiten sind zwar geplant, aber noch nicht realisiert. Bislang hatte ich diesen Link angeklickt, mit dem Resultat, das ich schon weiter oben gepostet habe (die 3 Zeilen mit Backslash statt slash).
  • Heute habe ich diese Seite geschlossen, ohne den Server selbst zu beenden, und anschliessend genau das eingegeben, was in der Adresszeile steht, wenn ich den Browser per Code starte. Das Ergebnis war, dass mir Google sein Wissen über localhost zur Auswahl anbot...
  • Dasselbe habe ich mit einer erweiterten Adresse versucht (localhost/html/index), mit und ohne Endung => FireFox konnte den Server unter localhost nicht finden.
  • Allerdings hatte ich gestern mal den Spleen, meine Startseite in Index.htm umzubennenen, wie das halt so usus ist bei HTML-Startseiten. Darum habe ich auch mal den von mir ursprünglich vergebenen Namen an die Adresszeile angehängt wird aber die nach wie vor die Homeseite.

Wie das angehängte Webmodul-Jpeg zeigt, habe ich 6 Pageproducers auf dem Modul, von denen nur die 2 am rechten Rand zu Html-Seiten verweisen. Deren Propertys HTML-File weisen auf die entsprechenden Dateien im Ordner 'HTML' hin:
  • I:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\Delbo rDataSnapServer\html\DynamicDelborHome.htm und
  • I:\DelphiXE8 Corner\DelphiXE8VclCorner\DelborWebserverXE8\Delbo rDataSnapServer\html\AufromantischerSpur1.htm
Die Seite <AufromantischerSpur> enthält HTML-Code, der auf diverse Photos verweist. Allerdings solchen, wie er in Filebasirten HTML-Seiten zu finden ist; ich müsste diese Bilder wohl mit Filestreams lesen und an den entsprechenden Contentstrream weitergeben, damt die Bilder auch angezeigt werden.
Allerdings definiert der CSS-Code auch diverse Boxen, die als Rahmen für diese Bilder fungieren: Wenn die Seite angezeigt würde, müsste ich diese Rahmen zu sehen kriegen.
Die beiden mittleren Pageproducers enthalten in ihren HTMLDoc-Propertis jeweils die den beiden oben genannten Seiten zugeordneten Css-Scripts.

Der Code der WebActionItems und der PageproducerHtmlTags:
Delphi-Quellcode:
procedure TWebModule1.WebModule1WebActHomeAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
  Response.Content := PageProducerHome.Content;
  Response.Content := Response.Content + PageProducerLogo.Content;
  Handled := True;
end;

procedure TWebModule1.WebModule1WebActRomanticeRoadAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
  Response.Content := PageProducerRomanticRR.Content;
  Response.Content := PageProducerRomanticRR.Content + PageProducerRomanticCSS.Content;
  Handled := True;
end;

procedure TWebModule1.PageProducerHomeHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
  if TagString = 'DELBORHOMECSSthen
    ReplaceText := PageProducerHomeCSS.Content;
  if Tagstring = 'MENUEthen
    ReplaceText := PageProducerMenueCSS.Content;
end;

procedure TWebModule1.PageProducerRomanticRRHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: string; TagParams: TStrings; var ReplaceText: string);
begin
  if TagString = 'ROMANTICSPURCSSthen
    ReplaceText := PageProducerRomanticCSS.Content;
  if Tagstring = 'MENUEthen
    ReplaceText := PageProducerMenueCSS.Content;
end;
Über die Eigenschaften geben dir die angehängten Jpegs Auskunft.
Zitat:
Sind die Backslashs (\) nur ein Tippfehler?
Eigentlich nicht - ich hab die Pfade von Hand eingetippt und spontan die Backslashes gewählt. Wenn ich mich richtig erinnere, war das unter DOS so. Dass ich deswegen einen Pfad falsch tippe, geschieht mir öfters...

Ich hoffe, deine Fragen genügend beantwortet zu haben.

Gruss
Delbor
Miniaturansicht angehängter Grafiken
webmodul1.jpg   actionitems.jpg   webmodulaction0.jpg   webmodulaction1.jpg   webmodulaction2.jpg  

Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat