Hola Lepuke.
Cita:
Empezado por Lepuke
...
Iba todo bien haciendolo solo , hasta que me aparecieron dos errores que no se como resolver.
En la linea me devuelve este error :
Cita:
Incompatible types: 'otro_array' and 'Array'
|
|
Eso es por que la función
clean_array espera como argumento un valor de tipo:
otro_array y le estas enviando uno de tipo:
array [1 .. 5] of string.
Cita:
Empezado por Lepuke
En la linea me devuelve este error :
Cita:
Incompatible types: 'otro_array' and 'Dynamic array'
|
|
La misma situación... Se espera un tipo:
otro_array y le estas enviando un tipo:
array of string.
No sé que es lo que estas buscando específicamente, pero te pongo un ejemplo de como podes pasar tu tipo (en este caso un arreglo dinámico) tanto por valor como por referencia.
Código Delphi
[-]
...
type
TDynArrayStr = array of string;
procedure InitDynArray(var Dyn: TDynArrayStr);
const
CSTR : array[1..5] of string = ('st1', 'st2', 'st3', 'st4', 'st5');
begin
SetLength(Dyn, Length(CSTR));
Move(CSTR, Dyn[0], Length(CSTR)*SizeOf(string));
end;
procedure CleanDynArray(var Dyn: TDynArrayStr);
var
l: Integer;
begin
l := Length(Dyn);
Finalize(Dyn);
SetLength(Dyn, l);
end;
function NumberDynArray(Dyn: TDynArrayStr): TDynArrayStr;
var
i: Integer;
begin
SetLength(Result, Length(Dyn));
for i := Low(Dyn) to High(Dyn) do
Result[i] := Format('%d) %s',[i, Dyn[i]]);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
v: TDynArrayStr;
i: Integer;
begin
CleanDynArray(v);
InitDynArray(v);
v:= NumberDynArray(v);
for i := Low(v) to High(v) do
ListBox1.Items.Add(v[i]);
v := nil;
end;
Saludos