Bonjour à tous,
Après beaucoup de recherches, je n'arrive pas à supprimer l'exception pour défaut de pointer à la fermeture de l'application. Il s'agit d'une application Soap (sous Delphi XE2) avec un objet THTTPRIO déposé sur la fiche principale. Pour simplifié, j'ai préparer une appli ultra light :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
 <script type="text/delphi">
 <!--
unit MainUnit;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Soap.InvokeRegistry, Vcl.StdCtrls,
  Soap.Rio, Soap.SOAPHTTPClient,
 
  cs8serverv0;
 
type
  TForm1 = class(TForm)
    BuClose: TButton;
    BuConnect: TButton;
    HTTPRIO1: THTTPRIO;
    LaServer: TLabel;
    procedure BuCloseClick(Sender: TObject);
    procedure BuConnectClick(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
 
var
  Form1: TForm1;
  Server_V0 : CS8ServerV0PortType;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.BuCloseClick(Sender: TObject);
begin
  Close;
end;
 
procedure TForm1.BuConnectClick(Sender: TObject);
Var
  fGetSoapServerVersionResponse: getSoapServerVersionResponse;
  fGetSoapServerVersion: getSoapServerVersion;
begin
  // Ouverture du serveur
  Server_V0 := GetCS8ServerV0PortType(false, 'http://127.0.0.1:851/', HTTPRIO1);
 
  fGetSoapServerVersionResponse := getSoapServerVersionResponse.Create;
  fGetSoapServerVersion := getSoapServerVersion.Create;
 
  fGetSoapServerVersion.cltName := 'Me';
  fGetSoapServerVersion.cltVersion := '0';
 
  try
    fGetSoapServerVersionResponse := Server_V0.getSoapServerVersion
      (fGetSoapServerVersion);
  finally
    LaServer.Caption := fGetSoapServerVersionResponse.server.Version;
 
    fGetSoapServerVersionResponse.Free;
    fGetSoapServerVersion.Free;
  end;
end;
 
end.
 //-->
 </script>
L'objet HTTPRIO est, d'après mes lectures, normalement libéré par le parent : Form1 mais cela ne semble pas être le cas.
J'ai, malgré tout, essayé de libérer HTTPRIO1 avec free ou destroy sans succès. Pour éviter ce défaut, j'ai réécrit mon appli en créant un objet THTTPRIO sans parent mais, dans cette configuration, je n'ai pas réussi à passer une Entête sans problème.

Merci pour votre aide.
Galet