AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Fehler "Privilegierte Anweisung"/Zugriffsverletzung
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler "Privilegierte Anweisung"/Zugriffsverletzung

Ein Thema von Samufi · begonnen am 28. Jan 2009 · letzter Beitrag vom 28. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#1

Fehler "Privilegierte Anweisung"/Zugriffsverletzun

  Alt 28. Jan 2009, 16:29
Hallo,
ich weiß, dass es schon viele andere Beiträge zu dem Thema gibt, ich habe sie aber leider nicht auf mein Problem anwenden können. Es wurde geschrieben, dass das Problem z.B. dann auftritt, wenn eine Variable benutzt wird, die vorher nicht deklariert wurde oder wenn das Programm eine ihm nicht erlaubte Sache ausführt. Beides trifft meines Wissens nicht auf meine Prozedur zu...
Delphi-Quellcode:
var I, Anzahl,Temp:Integer; MEdit:TEdit;
begin
Anzahl:=0;
for I := 0 to ListboxInhalt.Count - 1 do
  begin
    if ListBoxInhalt.Selected[I]=true then
      begin
        Temp:=Anzahl+1;
        Anzahl:=Temp;
        MEdit:=TEdit.Create(HauptUnit.Form1);
        MEdit.Visible:=false;
        MEdit.Name:='MarkiertEdit'+InttoStr(Anzahl);
        MEdit.Parent:=HauptUnit.Form1;
        MEdit.Text:=InttoStr(I);
        MEdit.free;
      end;
  end;
for I := 1 to Anzahl do
  begin
    Temp:=StrtoInt(TEdit('MarkiertEdit'+InttoStr(I)).text);
    ListboxInhalt.Items[Temp]:=HauptUnit.Form1.Inhalt.Text;
    ListboxCode.Items[Temp]:=HauptUnit.Form1.Code.Text;
   end;
Temp:=StrtoInt(TEdit('MarkiertEdit'+InttoStr(Anzahl)).text);
if ListboxInhalt.Count-1>Temp then ListboxInhalt.selected[Temp+1]:=true else NeueZeile.Click;
for I := 1 to Anzahl do
  begin
    TEdit('MarkiertEdit'+InttoStr(I)).free;
  end;
end;
Vielleicht seht ihr ja den Fehler, danke aber schon fürs Suchen!
Treuergebenst,
Samufi
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 16:41
Schau mal im Debugger, in welcher Zeiel der Fehler auftritt.
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 16:41
Hallo,

in Zeile 10 erzeugst den den MEdit, in Zeile 15 wird er wieder gelöscht (MEdit.Free);
Und in der Zeile 28 nochmal das Free.

Ausserdem ist der Zugriff direkt auf HauptUnit.Form1 nicht sehr schön.
Übergabe der Methode doch alles, was sie braucht in Parametern.


Heiko
Heiko
  Mit Zitat antworten Zitat
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 16:58
Danke für die schnellen Antworten! Wo muss ich da nachschauen, um zu sehen, in welcher Zeile der Fehler auftritt (hab ich noch nie gemacht)?
Das Free bezieht sich ja beim ersten Mal auf meine Variable MEdit und dann auf das Edit MarkiertEditI. Ich habe es aber schon ohne das MEdit.free probiert, da wird dann aber eine Zugriffsverletzung gemeldet...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 17:01
Setz einen Haltepunkt auf die erste Zeile und stepp dann zeilenweise mit F8 durch.
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
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 17:09
Wie setze ich einen Haltepunkt? (Tut mir Leid, ich hab wirklich keine Ahnung...)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 17:12
Zeile markieren Eingabecursor in die betreffende Zeile setzen und dann F5 (wenn ich nicht irre, hab gerade kein Delphi verfügbar).
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
Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 17:30
Ich habe damit keienen Fehler gefunden... Aber mir ist aufgefallesn, dass ich die ganze Sache umgehen kann. So hat sich das wohl erledigt (obwohl es trotzdem interessant gewesen wäre) Ich bitte vielmals um Entschuldigung!
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 20:20
Hallo,
ist es möglich ein String in ein Valides TEdit zu casten:
Ich beziehe mich da auf die Zeilen 20, 24 und 28.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Fehler "Privilegierte Anweisung"/Zugriffsverle

  Alt 28. Jan 2009, 20:24
So nicht. Du müsstest dir zuerst eine Referenz auf das Control mit .FindControl() holen.
Ich würde zudem StrToIntDef() für die Konvertierung verwenden, da man ja nicht sicher sein kann, das etwas Brauchbares im Edit steht
Markus Kinzler
  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 22:29 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