ich hab jetzt noch einmal eine frage zu dieser typdeklaration.
ich habe in meiner unitASM sozusagen stehen
type TMatrix = array [0..5,0..5] of double;
dann will ich die eingelesenen matrizen mat1 und mat2 aus den beiden stringgrids in das unterprogramm meiner "myunitmatrix" übergeben. dazu habe ich den aufruf
addieren(zeilen1,spalten1,mat1,mat2);
in der
Unit Myunitmatrix, befindet sich dann folgender quelltext bis jetzt:
Delphi-Quellcode:
unit MyUnitMatrix;
interface
type TMatrix =
array [0..5,0..5]
of double;
procedure addieren(spalten1, zeilen1: Integer; mat1, mat2: TMatrix);
procedure subtrahieren(spalten1, zeilen1: Integer; mat1, mat2: TMatrix);
procedure multiplizieren(spalten1, zeilen1, spalten2: Integer; mat1,mat2:TMatrix);
implementation
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Math, UnitASM, UnitINV;
procedure addieren(spalten1, zeilen1: Integer;mat1,mat2:TMatrix);
var
i, j: Integer;
mat3: TMatrix;
begin
for i := 0
to (spalten1 - 1)
do
begin
for j := 0
to (zeilen1 - 1)
do
begin
mat3[i, j] := (mat1[i, j] + mat2[i, j]);
end;
end;
end;
end.
so wenn ich das ganze nun compiliere, dann erhalte ich in der unitASM die fehlermeldung beim aufruf von "addieren" : "[DCC Fehler] UnitASM.pas(83): E2010 Inkompatible Typen: 'MyUnitMatrix.TMatrix' und 'UnitASM.TMatrix'"
in meiner vorherigen fassung hatte ich die matrizen global deklariert, nur leider darf ich das nicht. Irgendwas mach ich bei der Übergabe falsch? Bzw kenn ich wohl die vorschriften für die übergabe von arrays nicht?! Wie kann ich denn ein Array ins unterprogramm einer anderen
unit übergeben?