juliomarin
22-01-2011, 23:33:13
Hola.
Tengo un problema simple pero que me lleva de cabeza.
Tengo una matriz de dos dimensiones llamada "MatContenido" en una ventana llemada "Programar" y definida tal y como sigue en su unidad "Programar.pas"
unit Programar;
...
Type
TMatBidiEnteros = array[1..6, 1..48] of Integer;
TMatBidiBooleanos = array[1..4, 1..48] of Boolean;
var
....
MatContenido:TMatBidiEnteros;
....
implementation
uses Principal, Valores_Serie, PuertoSerie;
{$R *.DFM}
...
{Y accedo a la matriz en toda esta unida de forma normal, sin problemas, como se ve aqui por ejemplo}
MatContenido[4,VentanaProgramar.Rejilla.Row]:=1
Pero luego tengo ventana llamada "PuertoSerie", con su unidad llamada "PuertoSerie.pas" y aún que si puedo acceder a la citada matriz para leer datos de ella, no puedo escribirla con algún dato nuevo.
unit PuertoSerie;
interface
...
Type
TMatBidiEnteros = array[1..6, 1..48] of Integer;
TMatBidiBooleanos = array[1..4, 1..48] of Boolean;
var
...
MatrizTMPContenido: TMatBidiEnteros;// Array[1..6, 1..48] of Integer;
implementation
uses Programar,Principal,ConsolaSerie;//, PuertoSerie;
...
MatContenido[3,FilaTMP] := StrToInt (CadenaCaracteresRecibidos[16]);
{Esto da error porque se supone que no esta pasada por valor}
...
RESUMIENDO
¿Cómo escribo en esta matriz que está en otra unidad?
o lo que es lo mismo
¿Cómo como paso por variable MatContenido para poder modificar sus valores?
Tengo un problema simple pero que me lleva de cabeza.
Tengo una matriz de dos dimensiones llamada "MatContenido" en una ventana llemada "Programar" y definida tal y como sigue en su unidad "Programar.pas"
unit Programar;
...
Type
TMatBidiEnteros = array[1..6, 1..48] of Integer;
TMatBidiBooleanos = array[1..4, 1..48] of Boolean;
var
....
MatContenido:TMatBidiEnteros;
....
implementation
uses Principal, Valores_Serie, PuertoSerie;
{$R *.DFM}
...
{Y accedo a la matriz en toda esta unida de forma normal, sin problemas, como se ve aqui por ejemplo}
MatContenido[4,VentanaProgramar.Rejilla.Row]:=1
Pero luego tengo ventana llamada "PuertoSerie", con su unidad llamada "PuertoSerie.pas" y aún que si puedo acceder a la citada matriz para leer datos de ella, no puedo escribirla con algún dato nuevo.
unit PuertoSerie;
interface
...
Type
TMatBidiEnteros = array[1..6, 1..48] of Integer;
TMatBidiBooleanos = array[1..4, 1..48] of Boolean;
var
...
MatrizTMPContenido: TMatBidiEnteros;// Array[1..6, 1..48] of Integer;
implementation
uses Programar,Principal,ConsolaSerie;//, PuertoSerie;
...
MatContenido[3,FilaTMP] := StrToInt (CadenaCaracteresRecibidos[16]);
{Esto da error porque se supone que no esta pasada por valor}
...
RESUMIENDO
¿Cómo escribo en esta matriz que está en otra unidad?
o lo que es lo mismo
¿Cómo como paso por variable MatContenido para poder modificar sus valores?