Zugriff auf VAR in Units optimieren

pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Zugriff auf VAR in Units optimieren

 · 
Posted: 22.03.2018 - 14:04  ·  #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
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Zugriff auf VAR in Units optimieren

 · 
Posted: 22.03.2018 - 20:44  ·  #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
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Zugriff auf VAR in Units optimieren

 · 
Posted: 22.03.2018 - 21:32  ·  #3
Hallo Thorsten,

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

rolf
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   66   80 · Page-Gen-Time: 0.030625s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI