voici 2 portions de code d'une même dll, la seconde appelant la première
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function TMyDllObject.PlusOne: integer; begin Result:=FInt+1; raise EMydllException.Create('levée ici dans la dll'); end;je cherchais à vérifier les mécanismes de transmission des exceptions levées dans la dll à l'appli : surprise, surprise...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 function PlusUn(const AObject: TMyAncestorObject): integer; // exportée var i: integer; begin i:=5; with AObject as TMyDllObject do begin Dec(i, 5); Result:=PlusOne div i; // pas d'erreur de division par zéro end; raise EMydllException.Create('pas levée ici dans la dll'); // jamais levée !!! end;
mais pê y-a-t'il une bonne et belle explication ?
Partager