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:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44:
| unit untFilFn;
interface
uses Windows, Messages, SysUtils, Forms, FileCtrl, Dialogs;
type stgString1 = Array[0..255 ] of Char; stgErrStrg = Array[0..2058] of char;
...
function FilExi(FilName: stgString1 ): SmallInt; export; pascal;
...
implementation
uses untStgUtils;
...
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
Moderiert von
Martok: B- durch Delphi-Tags ersetztModeriert von
Narses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 22.08.2011 um 15:38