Avatar billede vint Nybegynder
23. marts 2008 - 13:58 Der er 4 kommentarer

Privileged instruction

Jeg er begyndt at få denne exception (Privileged instruction).

Fejlen opstår, når jeg kører følgende code i mit datamoduls onCreate event:

procedure TDatamodule1.DataModuleCreate(Sender: TObject);
var
  i : integer;
begin
  for I:= 0 to ComponentCount - 1 do
    begin
    if Components[I] is TClientDataset then
      TClientDataset(Components[i]).CreateDataSet;
      TClientDataset(Components[i]).Open;
    end;
end;

Mine TClientDataSets er alle lukkede, når jeg kompilerer.

Jeg har søgt på nettet omkring fejlen "Privileged instruction" men det går vist længere ud end min viden om Delphi programmering.

En dygtig mand, der, kan hjælpe. :)
Avatar billede vint Nybegynder
23. marts 2008 - 14:02 #1
Det ser ud til, at jeg stirrede mig blindt og var for hurtig på aftrækkeren.

Så vidt jeg kan gennemskue, så er det fordi, jeg først kører CreateDataset og derefter Open.

Ret mig gerne, hvis jeg tager fejl.
Avatar billede stone Forsker
23. marts 2008 - 14:35 #2
ja du kan jo ikke oprette før en open "S" mener jeg....
Avatar billede vint Nybegynder
23. marts 2008 - 14:46 #3
Hej Stone.

Jo, i et ClientDataSet kan det netop være omvendt. Du kan ikke åbne, hvis du ikke har "CreateDataSet"

Mit eget bud er, at jeg ikke kan åbne et ÅBENT dataset.

Hvis jeg slette TClientDataSet(Components[i]).Open, så er der i hvert fald ingen fejl.
Avatar billede borrisholt Novice
27. marts 2008 - 15:17 #4
Du mangler i hverfald en begin end ...

procedure TDatamodule1.DataModuleCreate(Sender: TObject);
var
  i : integer;
begin
  for I:= 0 to ComponentCount - 1 do
    begin
      if Components[I] is TClientDataset then
      begin
        TClientDataset(Components[i]).CreateDataSet;
        TClientDataset(Components[i]).Open;
      end;
    end;
end;


Hvis nu vi antag komponent #1 er en knap så typecaster du en Tbutton til et TClientDataset, og kalder open på det .... Det skal Nok gå i smadder for dig ...

men prøv det her først og se om ikke du kommer videre ...

Jens B
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester