Fråga : Proto ILE

Hi vänner, försök för

I till funktionsdugliga delar för sammanslutning 2 av program, som fungerar fint, nu jag får doubl;
Maybe för e-definitionfel…, därför att det är någon tid sedan det mig, skrev denna sort av stoppar, men jag kan inte finna solution (i verkligt levande PM#SNA är inte 4 utan 400),

And, ja jag ser att det finns en dubbel definition, men hur man löser detta? EXPERTER för

Thanks!!!!!

> för
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
" codeBody " " EXPORT för #BLDSTR B för >P för class= " för
" klar "

Svar : Proto ILE

Kan inte jag använda likeds i min del för PR (PI)?

Så länge som den kallande procen överför i en DS, då du kan använda en DS på hälerisidan.

Det är, om den kallande procen passerar en parameter ”hänvisar till by”, din häleriproc går endast att motta en tilltala -- definitionen är ovidkommande så avlägset, som systemet angå; den är i grunden endast relevant benämner in av maintainability. (Bara det är en viktig relevans. Du önskar att re-use definitioner mellan calleren, och calleen för att att minimera buggar från okompatibla definitioner.),

Om minnet definieras inom en DS i den kallande procen, du kan använda den samma DS-definitionen i den kallade procen, därför att de ska pekar på det samma minnet (så länge som passerat ”hänvisa till by”). Och isåfall, där skulle för att inte vara något behov för din proc till EVAL from/to argumentet och en separat DS; värderar skulle redan är i DSEN.

Eller om all en grupp av 400 variabler händer att vara i sammanhängande minne i den kallande procen, och alla de har den samma definitionen, du behöver endast att passera tilltala av den första variabeln -- den kallade procen kan definiera dess argument för att vara en samling för 400 beståndsdel. (Naturligtvis, den kan vara knepig att se till att du använder sammanhängande minne -- en DS används ofta för det.),

Men att ha olika definitioner mellan kalla och de kallade procsna är vad gör riskera av oöverensstämmelse parms bredare. Så vi använder regelbundet /COPY medlemmar för att hjälpa att se till att vi hänvisar till minne som samma på båda avslutar långt.

Om du passerar i en DS, du ska måste att ladda DSEN med värderar i varje den proc appeller din proc. Om du passerar i separata parms, du laddar endast DSEN i din proc. Du måste att välja var minnesledningen äger rum.

Om detta är i en proc som ska endast, var destinerad in i ett singelprogram, det kan för att inte göra någon skillnad. Den ska göras endast i en lappar av kodifierar endera långt.

Men, om din proc kan kallas från multipel andra procs, du bör se det som laddar samlingen som kan för att vara bäst i din proc. Gör inte diktatet till de kallande procsna hur de måste organisera deras variabler.

Svaret är… det beror.

Tom
Andra lösningar  
 
programming4us programming4us