PDA

Ver la Versión Completa : Cómo pasar matrices por variable??


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?

Delphius
23-01-2011, 05:59:08
Hola,
Bienvenid@ a ClubDelphi.

Respecto a tu problema, resulta llamativo que puedas leer y no guardar. Sería de mucha ayuda el que nos digas el error textual que te arroja.
También es necesario que nos brindes más información sobre tu código y lo que estás tratando de realizar... ¿que es y/o que hace CadenaCaracteresRecibidos?

De lo que nos comentas me resulta difícil poder decirte que puede ser el problema. Nos hace falta más información como para intentar reproducir tu caso y proponer una solución o alternativa.

Saludos,

juliomarin
25-01-2011, 23:31:53
Muchas gracias Delphius por tu interés
Parece que ahora funciona, no se que estaba haciendo mal :mad: si lo descubro y seguís interesad@s lo postearé.

Un saludo.