Einzelnen Beitrag anzeigen

UweJansen

Registriert seit: 22. Aug 2011
Ort: NRW
13 Beiträge
 
Delphi 11 Alexandria
 
#1

Parameterübergabe von externem Programm an Delphifunktion

  Alt 22. Aug 2011, 13:25
Delphi-Version: XE
Hallo,

ich bin neu hier im Forum und möchte erst einmal alle Grüßen !

Ich programmiere seit Jahren hauptsächlich in OpenRoad, einer 4GL-Entwicklungsumgebung der Firma Ingres und ein wenig in Delphi,
allerdings bisher "nur" in Delphi5 !!

In Delphi(5) habe ich in eine DLL einige Funktionen (z. B. für Dateioperationen) ausgelagert die ich in der OpenRoad-Entwicklungs-
umgebung nicht umgesetzt bekomme.

Unser eigentlicher Delphiprogrammierer hat vor 2 Jahren das Unternehmen verlassen und von daher stehe ich mit meinem Problem zur
Zeit alleine da.
Ich habe jetzt (versucht) von Delphi5 auf Delphi XE umzusatteln (also einen Versionssprung von ca. 10 Jahren vollzogen) und stosse
jetzt als erstes schon auf das Riesenproblem das die Parameterübergabe zwischen dem aufrufenden OpenRoad-Programm und der Delphi-
DLL-Funktion nicht mehr funktioniert, d. h. der übergebene Parameterwert kommt nicht an !

Hier mal der Quellcode von Delphi:

Delphi-Quellcode:
unit untFilFn;

interface

uses
  Windows, Messages, SysUtils, Forms, FileCtrl, Dialogs;

type
  stgString1 = Array[0..255 ] of Char;
  stgErrStrg = Array[0..2058] of char;

...

{Export-Funktionen der DLL}

function FilExi(FilName: stgString1 ): SmallInt; export; pascal;

...

implementation

uses untStgUtils;

...

// Überprüfen ob eine Datei vorhanden ist

function FilExi(FilName: stgString1 ): SmallInt; export; pascal;
var
  stgDateiName1: string ;
  intCount : integer;
begin
  Result := 0;

  for intCount := 0 to 255 do
   if FilName[intCount] in [#33..#127] then
             stgDateiName1 := stgDateiName1 + FilName[intCount];

  showmessage(stgDateiName1);

  if FileExists (FilName) then Result := 1;
end;

...
Das "ShowMessage" habe ich einfach als Debuggingcode eingefügt um zusehen was in der Funktion ankommt.
Diese Syntax hat mit "Delphi 5" immer funktioniert jetzt aber nicht mehr !
Woran kann das liegen ? Müssen in den Projektoptionen irgendwelche Schalter (anders) gesetzt werden ?

Wenn mir einer einen Tip geben kann wäre ich sehr glücklich ... ich steh echt auf dem Schlauch !

Besten Dank im voraus !

Grüße
Uwe
Uwe

Geändert von UweJansen (22. Aug 2011 um 16:22 Uhr) Grund: Delphi-Tags gesetzt - nächstes mal bitte selbst machen
  Mit Zitat antworten Zitat