AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

EAccessViolation ?? Warum

Ein Thema von Schuster · begonnen am 29. Nov 2004 · letzter Beitrag vom 29. Nov 2004
 
Benutzerbild von Schuster
Schuster

Registriert seit: 21. Okt 2004
Ort: Wien
176 Beiträge
 
Delphi XE7 Architect
 
#1

EAccessViolation ?? Warum

  Alt 29. Nov 2004, 10:13
Bins schon wieder

Hi Leute

Bekomme o.a. Fehlermeldung weiß aber nicht warum.

Hier mal ein bischen Code:

Dieser Codeblock ist zwar denk ich mal nicht wichtig geb ihn aber dazu:

Delphi-Quellcode:
{**********************************************************************
                    Datei zu Datensatz speichern
***********************************************************************}

procedure TForm_Schaden.Btn_Datei_hinzufClick(Sender: TObject);
var x,x1: integer;
wahr : boolean;

begin
    x1:=0;
    wahr:= false;
    with OpenDialog_Datei do
    begin
       Title:='Datei auswählen..';
       //Execute;
       if Execute=false then //Wenn auf Abbrechen geklickt wird
       exit;

       Pfad:= OpenDialog_Datei.FileName; //Pfad enthält Pfad + Dateiname
       MessageDlg(Pfad,mtWarning,[mbok],0);
    end;
    x:= length(Pfad);


    while wahr <> true do
    begin
       Dateiname:= copy(Pfad,x,1);

       x:= x-1; //immer einen Schritt retour
       x1:=x+1; //Anzahl der Schritte merken
       if Dateiname='\'then
       begin
           wahr := true;
           Dateiname:= copy(Pfad,x+2,x1); //+2 da sont x\name kopiert wird
           MessageDlg(Dateiname,mtInformation,[mbok],0);
           Anlage:=true;
       end;
    end;
end;
In diesem Codeblock kommt fehler:

Delphi-Quellcode:
{**************************************************************************
                          Schaden speichern
***************************************************************************}

procedure TForm_Schaden.Btn_SpeichernClick(Sender: TObject);
var temp,Kdnnr, SqlString,SchdnrIntern,test: string;
M:Tmemorystream;
begin
    if Schaden_Button_ged=true then
    begin
      SchdnrIntern:= DataModule1.ZQuery_Vertraege_suchen.FieldValues['SchadennrIntern'];
    end
    else
    begin
        if komme_v_schaden=false then
        begin
            temp:=Form1.DBGrid1Seite1_Vertraege.DataSource.DataSet.FieldByName('Polizzennummer').AsString;
            Kdnnr:= Form1.DBGrid1Seite1_Vertraege.DataSource.DataSet.FieldByName('Kundennr').AsString;
        end
        else
        begin //Wenn aus Tabsheet 3 (Schäden)
            temp:= Form1.DBGridSchaden.DataSource.DataSet.FieldValues['PolNr'];
            Kdnnr:= Form1.DBGridSchaden.DataSource.DataSet.FieldValues['Kundennr'];
            SchdnrIntern:= Form1.DBGridSchaden.DataSource.DataSet.FieldValues['SchadennrIntern'];
            Schaden_Button_ged:=true;
        end;
    end;

    if Edt_Datum.Text='then
        Edt_Datum.Text:='2000.01.01'
    else
    begin
        if Length(Edt_Datum.Text) < 10 then
        begin
          MessageDlg('Datums format falsch!',mtWarning,[mbok],0);
          Edt_Datum.SetFocus;
          exit;
        end;
        Edt_Datum.Text:=DatumFormatieren(Edt_Datum.Text);
    end;

    if Schaden_Button_ged=false then
    begin
    SqlString:= 'Insert into schaden (PolNr,Schadennr,Sparte,SchadenDatum,Status,Ursache,Verschulden,Schadenref,TelnrRef,' +
                'Schadensumme,Bemerkungen,Kundennr) Values ('''+temp+''','''+Edt_SchadenNr.Text+ ''','''+
                Cmb_Sparte.Text + ''','''+Edt_Datum.text+''','''+Cmb_Status.Text+''','''+Cmb_Ursache.Text+
                ''','''+Cmb_Verschulden.text+ ''','''+Edt_Referent.Text + ''','''+Edt_TelNrRef.Text+''','''+
                Edt_Schadensumme.Text+ ''','''+Memo_Bemerkungen.Text+''','''+Kdnnr+ ''')';
     end
     else
     begin
     SqlString:= 'Update kundendaten.schaden Set '+
                 'Schadennr =''' +Edt_SchadenNr.Text+ ''','+
                 'Sparte = '''+ Cmb_Sparte.Text + ''','+
                 'SchadenDatum = ''' + Edt_Datum.text+''','+
                 'Status = ''' + Cmb_Status.Text+''','+
                 'Ursache = ''' + Cmb_Ursache.Text+''','+
                 'Verschulden = ''' + Cmb_Verschulden.Text +''','+
                 'Schadenref = ''' + Edt_Referent.Text +''','+
                 'TelnrRef = ''' + Edt_TelNrRef.Text +''','+
                 'Schadensumme = ''' + Edt_Schadensumme.Text +''','+
                 'Bemerkungen = '''+ Memo_Bemerkungen.Text +''''+
                 'where SchadennrIntern = ''' + SchdnrIntern +''';';

                 Schaden_Button_ged:= true;
      end;

    MEINSQL.SQL_Manueler_String(SqlString);

    if Anlage=true then
    begin
        ////In DB speichern/////
       { with DataModule1.ZQuery_Sonstiges do
        begin
            sql.Free;
            sql.Add('Insert into schadendateianlagen (Kdnnr,DateiName,Pfad,Schadennrint)'+
                    'Values ('''+Kdnnr+ ''','''+Dateiname+''','''+'O:\DateiKunden\'+
                    ''',LAST_INSERT_ID() )');
            ExecSQL;
        end;}


        test:= 'Select Schadennrint from schaden where Schadennr like '''+Edt_SchadenNr.Text+'''';
        //MessageDlg(test,mtWarning,[mbok],0);
        with DataModule1.ZQuery_Sonstiges do
        begin
             sql.Free;
             sql.Add(test); //HIER ENTSTEHT DIE FEHLERMELDUNG!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
             open;
        end;

        MessageDlg(DataModule1.ZQuery_Sonstiges.FieldByName('Schadennrint').AsString,mtWarning,[mbok],0);

        ///Datei kopieren
        M:=TMemorystream.Create;
        M.LoadFromFile(Pfad);
        M.SaveToFile('O:\DateiKunden\'+Dateiname);
        M.Free;
        anlage:=false;
    end;


    Form_Schaden.close;
    if Schaden_Button_ged=false then
      form1.StatusBarSeite1.Panels[2].Text:='Schaden zu Pol.Nr.: '+temp+' wurde angelegt'
    else
      Form1.StatusBarSeite1.Panels[2].Text:= 'Schaden wurde upgedatet';
      
    MEINSQL.SQL_Sel_Abfragen('kdaten','Kundennr',Kdnnr); //nochmals abfragen da sonst DbGrid nicht aktualisiert wird.
    

    form1.show;
end;
Markus Schuster
__________________
Markus
http://members.chello.at/delphi-developer
  Mit Zitat antworten Zitat
 


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 07:51 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