05. april 2001 - 18:05Der er
12 kommentarer og 1 løsning
acces violation
har et databaseprogram med minitable. hvis man trykker på en knap inden hele programmet er indlæst,får man en accees violation.hvad kan man gøre for at undgå det? (udover at lade være med at trykke på knappen :-)) kan man deaktivere funktionerne indtil hele programmet er indlæst?
jo....det kan jeg, men der er mange andre knapper og + menuen og popup.Så det vil blive mange disabled/enabled, det vil ligne en hovsa løsning. Og det vil givevis forsinke programmet. Jeg var ude efter en lidt smartere måde at gøre det på.
Jeg tror du skal have vildt mange knapper før du kan mærke at det vil forsinke programmet, men ok det bestemmer du jo selv.. For at vi skal kunne hjælpe dig med en anden løsning bliver du i hvertfald nødt til at komme med flere information på hvorfor det sker.. og hvad der sker
har prøvet dit forslag samme problem. problemet ligger i at når man trykker på en knap under indlæsning kan den ikke udføre handlinge før programmet er indlæst,derved får man en \"aceess violation\" er der en måde at uddele resourcer til at håndtere en event før programmet er indlæst.
Du kan sætte menupunkter og knapper disablede og enablede med ganske få liniers kode. Så en løsning ville være at sætte knapper/menupunkter disablede i designtime
på formens OnCreate skriver du derefter:
for i := componentCount -1 do begin if components[i] is TButton then TButton(components[i]).enabled := true else if components[i] is TMenuItem then TMenuItem(components[i]).enabled := true; end;
\"jensfudge\" får en fejlmelidng ved brug af dit eksempel undeclared identifier(i) \'To\'ekspected but \'do\' found exspression expected but \'begin\' found
procedure TForm1.Create (sender TObject); var i : integer;
begin for i := 1 to componentCount -1 do begin if components[i] is TButton then TButton(components[i]).enabled := true else if components[i] is TMenuItem then TMenuItem(components[i]).enabled := true; end;
end;
Jeg troede at du godt vidste hvor du oprettede lokale variabler osv... Jeg vil kraftigt anbefale dig at købe en lærebog om delphi, eller programmering i al almindelighed. Jeg kan anbefale \"Teach yourself .... in 21 days\" serien, der er sikker en hvor .... skal udskiftes med Delphi
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.