Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prozeduraufruf klappt nicht (https://www.delphipraxis.net/144776-prozeduraufruf-klappt-nicht.html)

torf160 16. Dez 2009 10:41


Prozeduraufruf klappt nicht
 
Hallo,

ich hoffe ich bin im richtigen Forum und Ihr könnt mir weiterhelfen.

Bei einem Prozeduraufruf möchte ich ein Array und ein Stringgrid übergeben. Obwohl ich von der Sache her alles gleich mache, klappt das bei einem Aufrauf, bei dem anderen aber nicht. Delphi bricht mit einer Fehlermeldung ab:
"Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen"

So sind die Typen deklariert:
Delphi-Quellcode:
type TMyBestell = Record
    Bezeichnung  : string[60];
    BestellNr    : string[20];
    Klemmband    : integer;
    Bild         : string[20];
    Preis        : array[0..MaxNenn] of real;
    AngebotsPreis : array[0..MaxNenn] of real;
  end;

  TBestellung = ARRAY[1..MaxArtikel] of TMyBestell;

  TMyStaerke = Record
    StaerkeWert : string[20];
    Zuschlag   : integer;
  end;

  TStaerke = ARRAY[1..MaxStaerke] of TMyStaerke;
Die Variablen sind in derselben Unit so deklariert:
Delphi-Quellcode:
var
  FU      : TBestellung;
  Staerke : TStaerke;
Die Prozeduren und die Aufrufe sehen so aus:
Delphi-Quellcode:
procedure BestelldatenInArray(var MyArray : TBestellung; grd : TStringGrid);
procedure StaerkeInArray(var MyArray : TStaerke; grd : TStringGrid);

BestelldatenInArray(FU, StringGrid1);
StaerkeInArray(Staerke, StringGrid5);
Die Prozedur BestelldatenInArray funktioniert, bei der Prozedur StaerkeInArray kommt die Fehlermeldung.

Woran liegts???

Schon mal vielen Dank für Eure Mühe.

torf160

DeddyH 16. Dez 2009 10:50

Re: Prozeduraufruf klappt nicht
 
Hast Du evtl. Staerke noch einmal als lokale Variable eines anderen Typs deklariert? In dem geposteten Code finde ich zumindest nichts, was auf den Fehler hindeuten würde. Zur Not kannst Du ja einmal die ganze Unit anhängen, vielleicht sieht man da mehr.

Klaus01 16. Dez 2009 10:52

Re: Prozeduraufruf klappt nicht
 
Hallo,

es wäre vielleicht noch hilfreich wenn Du den die Prozeduren
zeigen könntest - hier kann nicht jeder aus der Glaskugel lesen.

Grüße
Klaus

torf160 16. Dez 2009 11:09

Re: Prozeduraufruf klappt nicht
 
@ DeddyH

vielen Dank für Deinen Tipp. Das suchen hat geholfen.

Ich Dussel hatte 2 Prozeduren "StaerkeInArray" in unterschiedlichen Units deklariert. :wall:

Nun funktioniert alles wie erwartet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz