Zugriff auf VAR in Units optimieren

pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

Zugriff auf VAR in Units optimieren

 · 
Gepostet: 22.03.2018 - 14:04 Uhr  ·  #1
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:
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;


Code
VAR
  IO            : TPVSIO_INPUT; // IO Puffer für Programmablauf


Code
procedure MeineUnitProc ( IO : Pointer to TPVSIO_INPUT );
....
MeineUnitProc ( @PVSIO );


oder über einen Type:

Code
TYPE
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 ?
pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1344
Dabei seit: 02 / 2009
Betreff:

Re: Zugriff auf VAR in Units optimieren

 · 
Gepostet: 22.03.2018 - 20:44 Uhr  ·  #2
Habe es in AVRco erstmal anderst gelöst, da ich es nicht sinnvoll mit den Pointern zum laufen bekommen habe.

Ich habe eine neue UNIT erzeugt "VarGlobal", dort habe ich die Type-Unit in die Use genommen.
Die Variablen, die ich Global über alle Units benötige habe ich in dieser "VarGlobal" deklariert.

Im Main-Unit und den anderen Units, die auf diese Variablen zugreifen müssen, habe ich die "VarGlobal"-Unit in die Uses genommen.

Ich denke mal das dieser Weg eine brauchbare Lösung ist, um nicht unnötig Speicher zu verschwenden.

Thorsten
rh
Administrator
Avatar
Geschlecht:
Herkunft: Germany
Alter: 25
Homepage: e-lab.de
Beiträge: 5558
Dabei seit: 03 / 2002
Betreff:

Re: Zugriff auf VAR in Units optimieren

 · 
Gepostet: 22.03.2018 - 21:32 Uhr  ·  #3
Hallo Thorsten,

aus diesen Gründen arbeite ich praktisch immer mit einer Globals Unit ;-)

rolf
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   66   80 · Page-Gen-Time: 0.024924s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI