Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Prism Data-Komponenten von anderen ASPX-Seiten zugreifen (https://www.delphipraxis.net/97421-data-komponenten-von-anderen-aspx-seiten-zugreifen.html)

fly_singapore 10. Aug 2007 10:18


Data-Komponenten von anderen ASPX-Seiten zugreifen
 
Hallo Allerseits

ich bin gerade dabei, eine Delphi-Anwendung in ASP.net zu portieren, merke aber wieder, dass dies nicht allzuleicht ist.

Im konkreten Fall möchte ich gerne von Datenkomponenten, wie 'DBWebDataSource' aus einer anderen ASPX-Datei zugriefen, die ich zuvor dem Projekt zugefügt habe. Analog zum normalen Delphi habe ich dann versucht
diese Komponente über den unit bzw. Formnamen anzusprechen. Funktioniert aber nicht ..


Wer kann mir helfen??????? :pale:

Gibt es eine vernünftiges Buch über ASP.net-Webseitenerstellung mit delpi?

Phoenix 10. Aug 2007 10:22

Re: Data-Komponenten von anderen ASPX-Seiten zugreifen
 
Eine Webseite wird vom Webserver erst dann erzeugt, wenn sie vom Client (Browser) aufgerufen wurde.
Solange kein Client das andere Formular aufruft wird es nicht instanziert.

Das was Du da hast sollte man im übrigen generell nicht machen, nicht nur nicht bei ASP.NET: Datenquellen kommen bei Delphi in ein Datenmodul bzw. in ASP.NET in eine eigene Klasse (wenn nicht sogar ein eigenes Assembly), und diese Klasse wird dann von den ganzen ASPXen angesprochen.

Elvis 10. Aug 2007 10:25

Re: Data-Komponenten von anderen ASPX-Seiten zugreifen
 
Zitat:

Zitat von fly_singapore
Hallo Allerseits
ich bin gerade dabei, eine Delphi-Anwendung in ASP.net zu portieren, merke aber wieder, dass dies nicht allzuleicht ist.

Natürlich ist das nicht leicht.
Du hast zum einen ein Modell, in dem deine Forms so lange leben wie du es willst und auf der anderen Seite ist ASPX, wo eine Page nur während eines Requests existiert und danach vernichtet wird.

Zu deiner Frage kann es in ASPX also keine Lösung geben. Seite 2 existiert ja gar nicht wenn du gerade in Seite 1 bist.
Ganz zu schweigen dass Code oder Daten, die man an mehreren Stellen braucht, absolut rein gar nix in Delphi Forms oder ASPX Seiten zu suchen hat.
Das war schon immer so, nur gerade in modernen Umgebungen wie .Net beißen dich soche Designfehler gehörig in den Allerwertesten...
Zitat:

Gibt es eine vernünftiges Buch über ASP.net-Webseitenerstellung mit delpi?
Keine Ahnung, da kaum einer Delphi.Net benutzt wirst du hier wohl nur auf ein paar wenige, bestenfalls mäßige Bücher zurückgreifen können...

peter12 10. Aug 2007 10:41

Re: Data-Komponenten von anderen ASPX-Seiten zugreifen
 
Ich habe etwas Erfahrung in asp net.

Ein bestehendes Delphi Programm in asp net zu portieren halte ich für unmöglich , da
bei asp net ganz andere Grundsätze herschen.
z.b. eine globale Variable würde nicht auf einen Benutzer beschränkt sein.
Bei jeder Aktion muß die Seite neu geladen werden auser mit Ajax.

Aber der Aufwand lohnt sich den die Vorteil sind mehr.

peter

fly_singapore 10. Aug 2007 11:39

Re: Data-Komponenten von anderen ASPX-Seiten zugreifen
 
@ Phoenix

zunächst einmal habe ich für den Datenbankzugriff ein eigenes Modul geschrieben. d.h. ich habe die dafür benötigten Komponenten im Designer plaziert. Dahinter liegt ja immer eine Unit.pas wo die ganzen komponenten auch noch einmal deklariert sind.

@Elvis

Zum Test habe ich eine ganz normale Unit, in dem Fall eine Unit mit Variablendeklarationen aufgebaut, diese dann über USES dann eingebunden. Eine Variable, die in der Unit deklariert habe, konnte ich ohne Probleme nutzen.

Nur funktioniert das nicht mit Datenbankkomponenten. Eine Ursache könnte allerdings sein, das im Datenunit

ein 'strict protected'-Anweisung steht, bevor die einzelnen Komponenten deklariert werden

Delphi-Quellcode:
strict protected
    DBWebDataSource1: Borland.Data.Web.DBWebDataSource;
    bdpSelectCommand1: Borland.Data.Provider.BdpCommand;
    bdpInsertCommand1: Borland.Data.Provider.BdpCommand;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:37 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