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