Bonjour à tous,

je suis en train de migrer une application client/serveur de D2007 à XE3. Je souhaite migrer par étape, je commence par le server puis l'application client cependant je voudrais pouvoir utiliser des fonctions d'un fichier de XE3 dans l'appli actuelle sur D2007. Pour cela je veux utiliser la directive de compilation {$L 'nom du fichier.ob'}.

Je déclare ensuite mes fonctions en external cependant je n'arrive pas à les utiliser.

J'ai fait un petit projet des 2 côtés (XE3 et D2007) pour tester avant de me lancer dans mon appli. Cependant même avec une fonction de type 'hello world' codée dans XE3 lorsque je souhaite l’appeler dans D2007 l'application ne se lance pas, bien qu'il n'y ai aucune erreur de compilation. Il est à noter que si je commente la ligne de mon code D2007 qui utilise la fonction mon appli se lance sans problème (avec juste le lien et la déclaration).

Quelqu'un aurait-il déjà fait se genre de chose entre 2 versions de Delphi? Ou bien quelqu'un a-t-il un éxemple simple de code côté XE3 + D2007 fonctionnant pour pouvoir trouver de l'inspiration?

Code côté XE3:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
unit Unit2;
 
interface
 
implementation
 
Function RetourFonction : String; export;
Begin
  Result := 'Hello world';
End;
 
end.
Code côté D2007:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
implementation
 
{$R *.dfm}
{$LINK Unit2.obj}
 
  Function RetourFonction : String; external 'Unit2.obj';
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := RetourFonction;
end;
 
end.
D'avance merci