die aus drei Schichten bestehen soll. (Darstellung, Anwendungslogik, Datenbankschicht). Ziel ist es z.B. die Darstellungsschicht gegen eine andere Technologie zu tauschen z.B.
VCL gegen
Html-Darstellung, ohne dass die beiden Anderen Schichten dafür verändert werden müssen.
Wie verhält es sich dann mit der Weiterleitung von Eregnissen, wie z.B. dem Doppelklick, oder rechte Maustaste, etc. ein ein Button, wenn die verwendete dDrstellungstechnik dieses nicht unterstützt?
Gar nicht. Das ist ja gerade der Sinn und Zweck der von einander getrennten und voneinander abstrahierten Schichten in einer N-Schichten Architektur.
Ein vom User ausgeslöstes Event (z.B. Der Doppelklick, oder ein Touch-Ereignis, oder eine Braille-Eingabe zum Scrollen etc.) ist eine Aktion auf der gerade von diesem User verwendeten Darstellung. Hat also weder in der Anwendungslogik noch in der Datenbankschicht irgend etwas zu suchen.
Ein Scrolling hat lediglich dafür zu sorgen, dass die Darstellungsschicht der Anwendungsschicht sagt: Geb mir mal ab dem x-ten User Datensatz die nächsten Y Stück, sortiert nach A,B und C absteigend (klassisches Pageing).
Welche Events dafür jetzt notwendig sind, sind damit rein auf die Darstellungsschicht begrenzt.
Das ist insbesondere wichtig wenn Du, wie Du schreibst, von einer klassischen Desktop-Anwendung ins Web willst. HTTP als das Grundprotokoll im Web ist Stateless, das heisst bei jedem einzelnen Request vom Webbrowser gegen Deine Anwendung kann (bzw. besser sollte) Deine Anwendung auf dem Server keinerlei Ahnung von dem haben (müssen), was der User vorher gemacht hat. Alles andere Wäre eine grobe Verletzung des Protokolls und sorgt vor allem zu netten Fehlermöglichkeiten.
Man stelle sich nur mal vor, der User macht ein neues Browser-Tab im Zustand X auf, tippelt dort was rein, macht inzwischen im alten Tab Y und Z (der Server meint der User wäre bei Z), und dann wechselt er den Tab und schicht das modifizierte X zurück. Wenn Deine Anwendung damit nicht zurecht kommt, gute Nacht.