AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid
Thema durchsuchen
Ansicht
Themen-Optionen

Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

Ein Thema von af99 · begonnen am 1. Aug 2013 · letzter Beitrag vom 13. Aug 2013
Antwort Antwort
Seite 1 von 2  1 2      
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#1

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 2. Aug 2013, 08:02
ok, habe es dann so gemacht
Delphi-Quellcode:
procedure TFMain.IWGOrders_fuellen;
var
  test: string;
begin
  if Assigned(Usersession) then //er springt von hier nach
    iwLabel1.Caption := 'Usersession ist da'
  else
    iwLabel1.Caption := 'Usersession ist nicht da'; // hier
  if Assigned(Usersession.DataModule1) then //hier kommt die Exception. Den Rest macht er dann erst gar nicht
    iwLabel2.Caption := 'DataModule1.QR_orders_heute ist da'
  else
    iwLabel2.Caption := 'DataModule1.QR_orders_heute ist nicht da';
  if Assigned(Usersession.DataModule1.QR_orders_heute) then
    iwLabel3.Caption := 'Usersession.DataModule1.QR_orders_heute ist da'
  else
    iwLabel3.Caption := 'Usersession.DataModule1.QR_orders_heute ist nicht da';

  iwLabel4.Caption := DataModule1.QR_orders_heute.FieldByName('orders_0800').AsString;
end;
Compilersettings im Debug-mode bei der Option "Optimierung" auf false ... Wo stelle ich das ein?? Unter Projekt/Optionen gibt es diese Einstellung nicht ich habe das mal als Bild angehangen
Angehängte Grafiken
Dateityp: jpg debug.jpg (111,9 KB, 17x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
172 Beiträge
 
Delphi 12 Athens
 
#2

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 2. Aug 2013, 12:56
Wo erzeugst du denn deine Usersession?

Wenn diese schon nicht assigned ist, kanllt's naturlich auch beim Zugriff auf Usersession.Datamodule ...
Micha
  Mit Zitat antworten Zitat
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#3

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 2. Aug 2013, 13:45
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.
  Mit Zitat antworten Zitat
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#4

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 2. Aug 2013, 13:49
die Usersession und das Datamodule wird im ServerControler erzeugt
Delphi-Quellcode:
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;
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
Wenn das Programm startet sehe ich auch auf der DB ca. 15 Sessions
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
777 Beiträge
 
#5

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 2. Aug 2013, 14:08
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.
Du musst ja auch irgendwie über UserSession.Datamodule1.xxx o.ä. darauf zugreifen, damit du genau die Instanz bekommst, die deiner Session entspricht.

Hier wird also ein Datamodule für die bzw. pro Session erstellt (bzw. ein Pool ?):
Delphi-Quellcode:
procedure TIWServerController.PoolCreateDataModule(var ADataModule: TDataModule);
begin
  ADataModule := TDataModule1.Create(nil);
end;
Und im folgenden ertstellst du dann nochmals eine Instanz pro Session:
Delphi-Quellcode:
procedure TIWUserSession.IWUserSessionBaseCreate(Sender: TObject);
begin
  inherited;
  Datamodule1 := TDatamodule1.Create(Self);
end;
Und auch an CoInitialize() denken.
  Mit Zitat antworten Zitat
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#6

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 5. Aug 2013, 07:59
ich habe es auch so versucht
IWGOrders.Cell[1,1].Text := usersession.DataModule1.QR_orders_heute.FieldByName('orders_0800').AsString; es kam aber der gleiche Fehler.

Ich habe das dann mal rausgenommen
Delphi-Quellcode:
procedure TIWUserSession.IWUserSessionBaseCreate(Sender: TObject);
begin
  inherited;
  Datamodule1 := TDatamodule1.Create(Self);
end;
der Fehler bleibt der geiche.

Wofür brauche ich das CoInitialize() ??? und wo muss das hin ???
  Mit Zitat antworten Zitat
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#7

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 8. Aug 2013, 11:21
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??????
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
777 Beiträge
 
#8

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 8. Aug 2013, 11:41
Aus deinem Beitrag #10:
Delphi-Quellcode:
  if Assigned(Usersession) then //er springt von hier nach
    iwLabel1.Caption := 'Usersession ist da'
  else
    iwLabel1.Caption := 'Usersession ist nicht da'; // hier
  ...
Ich habe von Intraweb keine Ahnung, aber wenn Usersession nicht assigned ist, dann brauchst du auch gar nicht mehr zu versuchen auf Objekte/Variablen in dieser Session zuzugreifen, sondern musst erst mal klären, wie du an die UserSession ran kommst.

Zu CoInitialize / CoInitializeEx:

Das wird benötigt, wenn COM (ADO) innerhalb von Threads aufgerufen wird; in jedem Thread zu Beginn 1 mal aufrufen.
  Mit Zitat antworten Zitat
af99

Registriert seit: 22. Apr 2004
84 Beiträge
 
Delphi XE5 Ultimate
 
#9

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 13. Aug 2013, 07:45
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???
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 13. Aug 2013, 08:50
hi,
kannst Du eben das Testprojekt (ohne DB) hier als zip einstellen?

Grüße
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz