Einzelnen Beitrag anzeigen

Overburn

Registriert seit: 12. Okt 2004
Ort: Bochum
47 Beiträge
 
#1

Übergabe eines Records in eine andre Unit

  Alt 28. Nov 2007, 09:18
Morgen,

also ich habe folgendes Problem:
Es exisitieren 2 Units. In der einen Unit gibt es einen record, welcher befüllt wird. Dieser soll dann an eine andere Unit zur Bearbeitung weitergeleitet werden:
Deklaration des Recordtyps
Delphi-Quellcode:
type
  tRecForwarder = record
    OrderId: string;
    NextState: Integer;
    WwwRootDir:String;
    FtpRootDir: string;
    PortalDir:String;
    PdfDir: string;
    ForwarderDir: string;
    Sid:String;
    Order:TStringList;
    Pickup:Boolean;
    Lnd:String;
    AdrPickup:String;
    AdrForwarder:String;
    AdrDelivery:String;
    SaveOrder:Boolean;
  end;
Hier wird er befüllt und die Unit ausgewählt und aufgerufen:

Delphi-Quellcode:
function ForwarderCommunication(iRecForwarder: tRecForwarder): string;
var
  temp: string;
begin
  Result := '';
  with iRecForwarder do begin
    Order:=TStringList.Create;
    ws:=GetIRtsService(True);
    Order.Text:=ws.Orders_GetData(Sid,OrderId);
    SaveOrder:=False;
    if (NextState=17) then begin
      Pickup:=True;
      AdrPickup:='Adr31';
      AdrForwarder:='Adr32';
      AdrDelivery:='Adr33';
    end else begin
      Pickup:=False;
      AdrPickup:='Adr41';
      AdrForwarder:='Adr42';
      AdrDelivery:='Adr43';
    end;
    try
       if temp = '1then Intf1.GenerateOrder( var irecforwarder);
       if temp = '2then Intfd2.GenerateOrder(var iRecForwarder);
Hier der Aufruf in der entsprechenden Unit:
preocedure GenerateDHLOrder( var myforwarder:trecforwarder); Die Deklaration von trecforwarder ist in beiden Units die gleiche.,
Beim kompilieren erhalte ich folgende Fehlermeldung:
Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen.

Könnt ihr mir hier helfen?

Gruß,
Stefan
  Mit Zitat antworten Zitat