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
af99

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

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 1. Aug 2013, 14:43
Jep da hast Du recht.

Ich kann das Projekt erfolgreich kompilieren und starten. Wenn ich dann im Browser den Button betätige der die Procedure "IWGOrders_fuellen" aufruft erhalte ich folgende Fehlermeldung

"Im Projekt... ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletztung bei Adresse 0066EDDD im Modul XXX lesen von Adresse 00000064 aufgetreten."

Ich habe auf des Main Formular mal eine IWDBGrid Komponente gelegt in dieser werden die Daten einwandfrei angezeigt
  Mit Zitat antworten Zitat
Lemmy

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

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 1. Aug 2013, 14:51
siehst Du, ist doch gar nicht schwer. Und jetzt seh ich auch den Fehler (zumindest glaub ich das):

UserSessionUnit: HIer definierst Du ein DataModule1: TDataModule1; und erzeugst das dann auch. Im MainForm machst Du aber ein uses DataModuleUnit; d.h. Du greifst da auf das nicht initialisierte DataModule zu.

Grüße
  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 1. Aug 2013, 15:10
ok, ich habe das dann geändert auf
IWGOrders.Cell[1,1].Text := usersession.DataModule1.QR_orders_heute.FieldByName('orders_0800').AsString; ich hoffe Du meintest das so. Leider kommt immer noch der gleiche Fehler (bzw der gleiche mit anderen Adressen 0066EDE1 und 00000069)
  Mit Zitat antworten Zitat
Lemmy

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

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 1. Aug 2013, 15:23
hm..

kannst Du mal etwas Debugcode einbauen? Oder geht IW irgend wie direkt debuggen?

Überprüf bitte mal ob
Assigned(Usersession)
Assigned(Usersession.DataModule1)
Assigned(Usersession.DataModule1.QR_orders_heute)

Wie schaut es mit der Compilersetting "Optimierung" aus - die falls an mal ausschalten. Hat IW nicht einen eingebauten Debugger/Debugconsole?

Grüße
  Mit Zitat antworten Zitat
af99

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

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 1. Aug 2013, 15:29
puh,

was für einen Debugcode meinst Du ??? bin in IW auch blutiger Anfänger weis daher auch nicht ob man das direkt debuggen kann.

wie prüfe ich das ??
Assigned(Usersession)
Assigned(Usersession.DataModule1)
Assigned(Usersession.DataModule1.QR_orders_heute)

Compilersettings sind alle auf standard (nix geändert nach der Installation)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 1. Aug 2013, 15:58
Delphi-Quellcode:
procedure TFMain.IWGOrders_fuellen;
var
  test: string;
begin
  //IWGOrders.Cell[1,1].Text := '15';
  //IWGOrders.Cell[1,1].Text := DataModule1.QR_orders_heute.FieldByName('orders_0800').AsString;
  
  { ###############
  nachdem man mit dem Debugger über die folgende Zeile "drüberstept"
  ist die Variable "test" out-of-scope
  daher wird im Debugger auch kein Wert mehr angezeigt wenn man den Mauszeiger über "test" schweben lässt
  Ursache könnte z.B. die Optimierung oder auch der fehlende Stackframe sein
  ################# }

  test := DataModule1.QR_orders_heute.FieldByName('orders_0800').AsString;
end;
fork me on Github
  Mit Zitat antworten Zitat
Lemmy

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

AW: Intraweb Datenbankdaten in ein IWGrid legen (kein IWDBGrid

  Alt 1. Aug 2013, 17:41
was für einen Debugcode meinst Du ??? bin in IW auch blutiger Anfänger weis daher auch nicht ob man das direkt debuggen kann.
mach 4 IWLabels auf das Form und dann

Delphi-Quellcode:
procedure TFMain.IWGOrders_fuellen;
var
  test: string;
begin
  if Assigned(Usersession) then
    iwLabel1.Caption := 'Usersession ist da';
  if Assigned(Usersession.DataModule1) then
    iwLabel2.Caption := 'DataModule1.QR_orders_heute ist da';
  if Assigned(Usersession.DataModule1.QR_orders_heute) then
    iwLabel3.Caption := 'Usersession.DataModule1.QR_orders_heute ist da';

  iwLabel4.Caption := DataModule1.QR_orders_heute.FieldByName('orders_0800').AsString;
end;
Alternativ einen Brakepoint auf die Zeile mit dem Auslesen des DB Wertes und dann durchdebuggen (F9).

Compilersettings sind alle auf standard (nix geändert nach der Installation)
dann ändere die Compilersettings im Debug-mode bei der Option "Optimierung" auf false
  Mit Zitat antworten Zitat
af99

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

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
Antwort Antwort


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 13:25 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