![]() |
Fehler "Privilegierte Anweisung"/Zugriffsverletzun
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:
Vielleicht seht ihr ja den Fehler, danke aber schon fürs Suchen!
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; Treuergebenst, Samufi |
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
Schau mal im Debugger, in welcher Zeiel der Fehler auftritt.
|
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
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 |
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
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... |
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
Setz einen Haltepunkt auf die erste Zeile und stepp dann zeilenweise mit F8 durch.
|
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
Wie setze ich einen Haltepunkt? (Tut mir Leid, ich hab wirklich keine Ahnung...)
|
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
Zeile markieren Eingabecursor in die betreffende Zeile setzen und dann F5 (wenn ich nicht irre, hab gerade kein Delphi verfügbar).
|
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
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!
|
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
Hallo,
ist es möglich ein String in ein Valides TEdit zu ![]() Ich beziehe mich da auf die Zeilen 20, 24 und 28. MfG xZise |
Re: Fehler "Privilegierte Anweisung"/Zugriffsverle
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 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