Hallo,
ich möchte einige Funktionen und Proceduren in Units auslagern (Übersichtlichkeit).
Bei diesen Funktionen benötige ich aber Zugriff auf Var-Strukturen von meiner Hauptroutine.
Normalerweise würde ich dann hier einen Pointer auf meine Strukturen übergeben und dann über die POINTER-ADR^ drauf zugreifen.
Etwa so:
oder über einen Type:
Bei beiden Wegen streikt der Compiler, wie ist hier der richtge Weg im AVRco ?
ich möchte einige Funktionen und Proceduren in Units auslagern (Übersichtlichkeit).
Bei diesen Funktionen benötige ich aber Zugriff auf Var-Strukturen von meiner Hauptroutine.
Normalerweise würde ich dann hier einen Pointer auf meine Strukturen übergeben und dann über die POINTER-ADR^ drauf zugreifen.
Etwa so:
Code
TYPE
TPVSIO_INPUT = record
IN00_RESET : boolean; // Dauerhaft HIGH
IN00_RESET_F : boolean; // Fallende Flanke
.......
INOK_F : boolean; // Fallende Flanke
INOK_R : boolean; // steigende Flanke
end;
TPVSIO_INPUT = record
IN00_RESET : boolean; // Dauerhaft HIGH
IN00_RESET_F : boolean; // Fallende Flanke
.......
INOK_F : boolean; // Fallende Flanke
INOK_R : boolean; // steigende Flanke
end;
Code
VAR
IO : TPVSIO_INPUT; // IO Puffer für Programmablauf
IO : TPVSIO_INPUT; // IO Puffer für Programmablauf
Code
procedure MeineUnitProc ( IO : Pointer to TPVSIO_INPUT );
....
MeineUnitProc ( @PVSIO );
....
MeineUnitProc ( @PVSIO );
oder über einen Type:
Code
TYPE
PPVSIO_INPUT : pointer to TPVSIO_INPUT;
....
procedure MeineUnitProc ( IO : PPVSIO_INPUT );
....
MeineUnitProc ( @PVSIO );
PPVSIO_INPUT : pointer to TPVSIO_INPUT;
....
procedure MeineUnitProc ( IO : PPVSIO_INPUT );
....
MeineUnitProc ( @PVSIO );
Bei beiden Wegen streikt der Compiler, wie ist hier der richtge Weg im AVRco ?