Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#7
  Alt 13. Jun 2003, 07:55
Hi Leute,

derzeit hab ich folgenden Stand.

Die Records müssen als packed records deklariert und die Functionen mit cdecl importiert werden.

Somit läuft erst mal alle ohne irgentwelche Abstürze.

Leider liefert die Methode RW_Create kein Ergebnis. Meine Vermutung, dass ich die Parameter in der Struktur RW_Einstellungen für nPrioritaet, nGeschwindigkeit und nVerbrauch (wie oben als array) deklariert nicht so übergebe wie es sein muß.

Ich häng mal meinen Aufruf hier ran.

Delphi-Quellcode:
function TRouteObject.RCreate(const re: TRW_Einstellungen;
  fz: TRW_Fahrzeug; iModus: Longint): Longint;
var Count : Integer;
begin
  Result := RW_ORTAS_NO_ROUTEHANDLE;
  If FRW_WBHandle = 0 then Exit;
  for Count := 0 to 7 do begin
    fz.nPrioritaet[count] := 5;
    fz.nGeschwindigkeit[count] := 80;
    fz.nVerbrauch[count] := 9000;
  end;
  Result := RW_Create(FRW_WBHandle, re, fz, iModus);
end;
Die Schleife zum füllen der Arrays hab ich hier mal testweise eingefügt.
Der Import der Function RW_Create erfolgt bei mir so:

Delphi-Quellcode:
function RW_Create(hWB: TRW_WBHANDLE;
                   re: TRW_Einstellungen;
                   fz: TRW_Fahrzeug;
                   iModus: Longint): Longint; cdecl; external 'RouteWeg.dll';
Vielleicht sieht hier irgentwo jemand einen Fehler.

Anregungen zum testen würden mir auch schon weiter helfen. Also keine Angst wenn hier jemand eine Idee abliefert und es klappt damit nicht.

Gruß oki
  Mit Zitat antworten Zitat