AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
was mich so ein bischen irretiert ist das das IWDBGrid mit den Daten aus der Query gefüllt wird. Ich sehe die Daten also direkt beim Öffnen der Seite im Browser. die DataSource des IWDBGrid ist "DataModule1.DS_QR_orders_heute". die DS zeigt auf die Query "QR_orders_heute"
|
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
Ich muss sagen, ich habe von Intraweb keine Ahnung, nutze selber UniGui. Aber folgendes
Delphi-Quellcode:
wäre in UniGui fatal (wahrscheinlich auch in Intraweb ?). Denn "DataModule1" existiert dadurch im ganzen Projekt nur 1 mal und bei mehreren Sessions würden mehrere Threads gleichzeitig auf das gleiche Dataset zugreifen.
unit DataModuleUnit;
... var DataModule1: TDataModule1; Jede Session sollte ihre eigene Datenbankverbindung (Datenmodul-Instanz) haben, bei Verwendung von ADO/COM sollte außerdem ein CoInitialize() aufgerufen werden. |
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
Wo erzeugst du denn deine Usersession?
Wenn diese schon nicht assigned ist, kanllt's naturlich auch beim Zugriff auf Usersession.Datamodule ... |
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
hmm, das (DataModule1: TDataModule1)stand so in einem Tuorial. Sonst kann ich ja das Datenmodul nicht mit DataModule1.XXX ansprechen. das habe ich so aber auch schon öfters gesehen.
|
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
die Usersession und das Datamodule wird im ServerControler erzeugt
Delphi-Quellcode:
Das ganze Rahmenprogramm habe ich nicht selber erfunden das erstellt Delphi größtenteils selbst. Ich habe eigentlich nur die Sachen mit dem Grid und dem DBGrid und dem DB Zugriff selber gemacht
procedure TIWServerController.IWServerControllerBaseNewSession(
ASession: TIWApplication; var VMainForm: TIWBaseForm); begin ASession.Data := TIWUserSession.Create(nil); end; procedure TIWServerController.IWServerControllerBaseCreate(Sender: TObject); begin Pool.Active := True; end; procedure TIWServerController.PoolCreateDataModule(var ADataModule: TDataModule); begin ADataModule := TDataModule1.Create(nil); end; Wenn das Programm startet sehe ich auch auf der DB ca. 15 Sessions |
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
Zitat:
Hier wird also ein Datamodule für die bzw. pro Session erstellt (bzw. ein Pool ?):
Delphi-Quellcode:
Und im folgenden ertstellst du dann nochmals eine Instanz pro Session:
procedure TIWServerController.PoolCreateDataModule(var ADataModule: TDataModule);
begin ADataModule := TDataModule1.Create(nil); end;
Delphi-Quellcode:
Und auch an CoInitialize() denken.
procedure TIWUserSession.IWUserSessionBaseCreate(Sender: TObject);
begin inherited; Datamodule1 := TDatamodule1.Create(Self); end; |
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
ich habe es auch so versucht
Delphi-Quellcode:
es kam aber der gleiche Fehler.
IWGOrders.Cell[1,1].Text := usersession.DataModule1.QR_orders_heute.FieldByName('orders_0800').AsString;
Ich habe das dann mal rausgenommen
Delphi-Quellcode:
der Fehler bleibt der geiche.
procedure TIWUserSession.IWUserSessionBaseCreate(Sender: TObject);
begin inherited; Datamodule1 := TDatamodule1.Create(Self); end; Wofür brauche ich das CoInitialize() ??? und wo muss das hin ??? |
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
hat das denn noch wirklich keiner gemacht ???
In einer Windowsanwendug ist das doch Gang und Gebe. Kann doch eingentlich mit dem Intraweb nicht so schwer sein oder?????? |
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
Aus deinem Beitrag #10:
Zitat:
Zu CoInitialize / CoInitializeEx: Das wird benötigt, wenn COM (ADO) innerhalb von Threads aufgerufen wird; in jedem Thread zu Beginn 1 mal aufrufen. |
AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
OK, ich habe ja wie gesagt das Projekt von Delphi erstellen lassen. Daher dachte ich das die Usersession korrekt erzeugt ist und zur Verfügung steht. Auf dem Formular werden die Daten ja auch in dem DBGrid angezeigt. Was muss ich also nun tun damit die Usersession zur verfügung steht???
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:21 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