AGB  ·  Datenschutz  ·  Impressum  







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

Zugriffsverletzung

Ein Thema von Geraldine83 · begonnen am 7. Aug 2008 · letzter Beitrag vom 8. Aug 2008
Antwort Antwort
Geraldine83

Registriert seit: 28. Jul 2005
19 Beiträge
 
#1

Zugriffsverletzung

  Alt 7. Aug 2008, 13:44
Datenbank: ? • Version: ? • Zugriff über: ODBC
Hallo,

ich habe ein Merkwürdiges Problem.
Ich wollte eine Exe starten und dort kommt jetzt ne Zugriffsverletzung.

Wen ich den Quellcode debugge kommt eine Fehlermeldung von EAccessViolation.
Quellcode wurde nicht geändert.

Die Fehlermeldung kommt an einer Stelle:
Q_RelAc.SQL.Clear

Die Query wurde vorher geschlossen. Das Merkwürdige ist, dass er einmal
ordnungsgemäß durchläuft und beim zweiten Mal kommt die Fehlermeldung.

An was könnte das liegen?

Grüßle Geraldine
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zugriffsverletzung

  Alt 7. Aug 2008, 13:45
Und das sollen wir an einer(!) Zeile Quellcode erkennen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Zugriffsverletzung

  Alt 7. Aug 2008, 13:46
Ohne weitere Infos/Code werden wir dir nicht helfen können
Btw.: Statt
Delphi-Quellcode:
Q_RelAc.SQL.Clear;
Q_RelAc.SQL.Add();
würde ich
Q_RelAc.SQL.Text := ...; verwenden
Markus Kinzler
  Mit Zitat antworten Zitat
Geraldine83

Registriert seit: 28. Jul 2005
19 Beiträge
 
#4

Re: Zugriffsverletzung

  Alt 7. Aug 2008, 13:52
anbei der Quellcodeteil...

Bei SQL.Clear springt er raus...

Delphi-Quellcode:
with Q_RelAc do
               begin
                  SQL.Clear;
                  if fMain.IniWerte.LVSFile = '1then
                  begin
                      Q_RelAc.SQL.Add('select ik, mnr, ktxt, uschl, usartklasse, usplatzgroesse, usmaxbest, gewicht, me, createdate '+
                              'from relac '+
                              'where '+
                              'uslvs = :p0');
                  end
                  else
                  if fMain.IniWerte.LVSFile = '3then
                  begin
                      Q_RelAc.SQL.Add('select x.ik, a.mnr, a.ktxt, a.uschl, x.usartklasse, x.usplatzgroesse, x.usmaxbest, a.gewicht, a.me, a.createdate '+
                              'from relac a, relacx x '+
                              'where '+
                              'x.uslvs = :p0 '+
                              'and x.mnr = a.mnr');
                  end;
                  Params[0].AsInteger := lvsReady;
                  Open;
                  First;
                  while not EoF do
                     begin
                        //StartTimer('Vorbereitung für ASCII-Datei (Stammdaten)');
                        S := FormatDateTime('yyyymmddhhnnsszzz', Now);
                        F := Format(fnMMArtikel, [S]);
// Z := FieldByName('Ik').AsInteger;
                        Z := Fields[0].AsInteger;
                        //StopTimer;
                        //StartTimer('Schreiben der ASCII-Datei (Stammdaten)');
                        WriteDownloadFile2(
                           D[1] + F, // Dateiname
                           D[2] + F, // Dateiname für Sicherungskopie
                           Fields[1].AsString,
                           Fields[2].AsString,
                           Fields[3].AsString,
                           Fields[4].AsInteger,
                           Fields[5].AsInteger,
                           Fields[6].AsFloat,
                           Fields[7].AsFloat,
                           Fields[8].AsString);
// Geändert 09.07.2006 /EH wegen variablem SQL ac / Acx
// FieldByName('MNr').AsString, // Artikel
// FieldByName('KTxt').AsString, // Beschreibung 1
// FieldByName('Uschl').AsString, // Beschreibung 2
// FieldByName('USArtKlasse').AsInteger, // Artikelklasse
// FieldByName('USPlatzGroesse').AsInteger, // Platzgröße
// FieldByName('USMaxBest').AsFloat, // Max. Bestand
// FieldByName('Gewicht').AsFloat, // RefGewicht
// FieldByName('ME').AsString); // Einheit
                        //StopTimer;
                        //StartTimer('Update RELAC (Status=0)');
                        UpdateStatusRELAC(Z, lvsOk);
                        //StopTimer;
                        Next;
                     end;
                  Close;
                  Free;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Zugriffsverletzung

  Alt 7. Aug 2008, 13:55
Warum kein Case
Kann fMain.IniWerte.LVSFile auch andere Werte als 1 und 3 annehmen?
Markus Kinzler
  Mit Zitat antworten Zitat
Geraldine83

Registriert seit: 28. Jul 2005
19 Beiträge
 
#6

Re: Zugriffsverletzung

  Alt 7. Aug 2008, 13:57
Ne, andere Werte gibt es bis jetzt nicht.
Das komische ist, der Quellcode lief / läuft, aber wenn ich ihn jetzt starten will, dann kommt die Fehlermeldung.
Es wurde nichts geändert...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Zugriffsverletzung

  Alt 7. Aug 2008, 14:04
Mir ist das Free am Ende aufgefallen. Wird die Query bei jedem Aufruf neu erzeugt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Zugriffsverletzung

  Alt 7. Aug 2008, 16:38
Ich denke auch, daß das free am Ende den Ärger macht. Das zugehörige create hab ich nirgendwo gefunden.

Gruß
K-H

p.s.
Zitat von Geraldine83:
Ne, andere Werte gibt es bis jetzt nicht.
Das komische ist, der Quellcode lief / läuft, aber wenn ich ihn jetzt starten will, dann kommt die Fehlermeldung.
Es wurde nichts geändert...
Wunder gibt es immer wieder!
  Mit Zitat antworten Zitat
Geraldine83

Registriert seit: 28. Jul 2005
19 Beiträge
 
#9

Re: Zugriffsverletzung

  Alt 8. Aug 2008, 07:03
Hallöchen,

ich hab jetzt das free rausgenommen und man siehe... es funktioniert.
Danke an alle, die mir geholfen haben!

Grüßle Geraldine

  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 00:52 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