Problem med klasser og pointere

Tags:    delphi

<< < 12 > >>

Hej,

Jeg sider og leger med et konsol system, og jeg har en kommando type som hedder CTYPE_FUNCTION. Når en kommando er at denne type, kalder jeg en pointer som referere til funktionen. Funktionen er altid:
Fold kodeboks ind/udKode 


Dette ligger i en type:
Fold kodeboks ind/udKode 


Når jeg så kalder jeg pointerens adresse sådan her:
Fold kodeboks ind/udKode 


fCommands[I].P indeholder pointeren og ToPass indeholder argumenterne.

Hvis vi antager at fCommands[I].P referere til flg. funktion:
Fold kodeboks ind/udKode 


Så virker det fint. Hvis jeg istedet bruger
Fold kodeboks ind/udKode 


Så fejler den ! Noget siger mig, at det er fordi jeg kalder fra en anden klasse(TGLConsole, som nedarver fra TConsole, som nedarver TObject), og at Exit så tror at den er en del af denne klasse, og kan derfor ikke finde viewer, medmindre den for at vide at den skal kigge i en anden klasse(TEngineModule). Nogen der kan bekræfte dette. Eller bare hjælpe mig med at få det til at virke ?

MH.

The-Freak

Livet er for kort til at kede sig.



13 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato

Søren, jeg tror du er faret helt vild i min kode ;).

Meningen er at man kan registrere forskellige typer af kommandoer til konsollen. Typerne er Byte, Short, Word, Int, Dword(Cardinal), Float, Boolean, String og Funktion. Hvis typen er en Funktion, så vil P indeholde en pointer til funktionen. Hvis typen er en Short, så vil P indeholde en pointer til byte'en etc.

MH.

The-Freak

Livet er for kort til at kede sig.



Ahhh oki nu forstår jeg bedere! :D ... så ser det lidt mere fornuftigt ud! Det anede mig lidt, men var ikke helt sikker! Men det ændre desværre ikke ved det oprindelige problem, da TConFunction stadig er en pointer til en simpel funktion og når der bliver tilskrevet (Assignet) en funktion til TConTunction (fCommand[I].P) er det en funktion der ligger i en klasse! Så vil der ske en fejl!

Håber du kan følge mig!



Ahhh oki nu forstår jeg bedere! :D ... så ser det lidt mere fornuftigt ud! Det anede mig lidt, men var ikke helt sikker! Men det ændre desværre ikke ved det oprindelige problem, da TConFunction stadig er en pointer til en simpel funktion og når der bliver tilskrevet (Assignet) en funktion til TConTunction (fCommand[I].P) er det en funktion der ligger i en klasse! Så vil der ske en fejl!

Håber du kan følge mig!


Ja... Desværre :\\... Men så må jeg holde alle mine kommandoer uden for klasserne, og referere igennem funktioner... Lidt træls, men det virker jo :P... Thx for the help Søren :D...

MH.

The-Freak

Livet er for kort til at kede sig.



<< < 12 > >>
t