Thema: Delphi Inverse einer matrix

Einzelnen Beitrag anzeigen

swarley

Registriert seit: 17. Aug 2011
6 Beiträge
 
#14

AW: Inverse einer matrix

  Alt 19. Aug 2011, 15:45
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?

Geändert von swarley (19. Aug 2011 um 16:12 Uhr)
  Mit Zitat antworten Zitat