Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Hilfe-Programm funktioniert nur Entwicklerumgebung! (https://www.delphipraxis.net/127618-hilfe-programm-funktioniert-nur-entwicklerumgebung.html)

lnaemi 16. Jan 2009 08:03

Datenbank: Oracle • Version: 9 • Zugriff über: SQl-Abfrage

Hilfe-Programm funktioniert nur Entwicklerumgebung!
 
liebe leute!
ich habe das programm in Entweicklersystem getestet und alles funktioniert problemlos, aber nur bei einen funktion in echt system, kriege ich die fehlermeldung: "Operation fehlgeschlagen"

bitte schaut mein code an und vielleicht könntet ihr mir dann sagen, wo ich was falsch machen.

da ich in entwicklerumgebung keinen fehler kriege weiss ich nicht, worum es wirklich geht.

und ich habe in echtsystem kein delphi oder zugang um zu schauen, was dort los ist. :wall:
lg lnaemi



Delphi-Quellcode:
procedure TfrmMain.grdFormbalttDblClick(Sender: TObject);
var
  vWert, SQL, vUser, vUser_nr, vRole, vAssign,sText: String;
  i: Integer;
begin
  TRY
    vWert := grdFormbaltt.SelectedField.Value;
    SQL := '';
    SQL := 'select Distinct WORKGRP.WORKGRP_ID from WORKGRP, WORKGRP_TEMPLATE, TEMPLATE where';
    SQL := SQL + ' TEMPLATE.TEMPLATE_NR = WORKGRP_TEMPLATE.TEMPLATE_NR';
    SQL := SQL + ' and WORKGRP.WORKGRP_ID = WORKGRP_TEMPLATE.WORKGRP_ID';
    SQL := SQL + ' and TEMPLATE.NAME = '+ QuotedStr(vWert) + ' ORDER BY UPPER(WORKGRP.WORKGRP_ID)';

    DM.qryGrid2.active := false;
    DM.qryGrid2.SQL.clear;
    try
        DM.qryGrid2.SQL.add (SQL);
     except
             on E: EDatabaseError do ShowMessage(E.Message);
        on X: Exception do ShowMessage(X.Message);
    end;
    DM.qryGrid2.active := true;
    DM.srcGrid2.Enabled := True;

  EXCEPT
    on X: Exception do ShowMessage(X.Message)
    else
      Application.MessageBox('Operation fehlgeschlagen!', 'Fehler!');
  END;
end;

mquadrat 16. Jan 2009 08:10

Re: Hilfe-Programm funktioniert nur Entwicklerumgebung!
 
Lass dir doch auch in diesem Fehlerfall die Message der Exception anzeigen. Dann hast du einen Anhaltspunkt. Oder integrier MadExcept von Madhsi in dein Programm, dann kann der Kunde dir direkt den Stack Trace schicken und du bekommst die genaue Fehlermeldung und Zeilennummer.

nahpets 16. Jan 2009 08:13

Re: Hilfe-Programm funktioniert nur Entwicklerumgebung!
 
Hallo,

wie wäre es denn mit
Delphi-Quellcode:
try
... Dein bereits vorhandener Code
except
  on e : EDataBaseError do ShowMessage(e.Message);
  on e : Exception do ShowMessage(e.Message);
end;
Dann bekommst Du auch Nichtdatenbankfehler mit. Bei Deiner Lösung klemmst Du Dir ja alle Fehler, die nicht EDataDaseError entsprechen ab. Die Aussagefähigkeit Deiner eigenen Fehlermeldung tendiert jedoch gegen Null :wink:

himitsu 16. Jan 2009 08:19

Re: Hilfe-Programm funktioniert nur Entwicklerumgebung!
 
Sicher, daß dort auch alle nötigen Dinge (genutzte Programme, Komponenten, Datenbanken ...) installiert sind?

Vorschlag:
(nur aus "Operation fehlgeschlagen!" kann man ja nicht viel zur möglichen Ursache erkennen)
Delphi-Quellcode:
var s: String;

TRY

EXCEPT
  s := 'Operation fehlgeschlagen!';
  if Assigned(ExceptObject) then s := s + #10#10 + Exception(ExceptObject).Message;
  Application.MessageBox(PChar(s),'Fehler');
END;


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