bonjour
je n'arrive pas a faire fonctionner le code décrit dans la faq pour récupérer la source d'un page web.
je souhaite l'affichez dans un doc pour voir ce qu'il recupere mais mon doc reste vide.
avez vous une idée de mon erreur? merci

mon code :

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
// fonction non modifiée de la faq
AnsiString __fastcall GetSource (TCppWebBrowser * browser)
{
   IHTMLDocument3 *html = NULL;
   IHTMLElement *element = NULL;
   BSTR string = L"";
 
   try
   {
      if (browser->Document != NULL)
      {
         OleCheck(browser->Document->QueryInterface(IID_IHTMLDocument3,(LPVOID*)&html));
         OleCheck(html->get_documentElement(&element));
         OleCheck(element->get_outerHTML(&string));
      }
   }
   catch (EOleSysError &eOSE)
   {
      if (element != NULL)
      {
         element->Release();
      }
      if (html != NULL)
      {
         html->Release();
      }
      throw eOSE;
   }
   return (AnsiString) string;
}
 
// un bouton pour la tester
 
void __fastcall TForm3::Button7Click(TObject *Sender)
{
GetSource (Form2 -> CppWebBrowser1);
}
 
// affichage sous word
 
void __fastcall TForm3::Button2Click(TObject *Sender)
{
 
WideString source;
//txt = VarToStr(aContenuHTML);
source = string.c_str();
 
    Variant vFileName, vReadOnly, vWDocuments, vWDocument;
    vFileName = "c:\\test.doc";
    Variant vMSWord;
try
        {
 
    vMSWord = Variant::CreateObject("Word.Application");
        }
catch(...)
        {
    vMSWord = Variant::CreateObject("Word.Application");
        }
    vMSWord.OlePropertySet("Visible", true);
    vReadOnly = false; // lecture seule
 
    vWDocuments = vMSWord.OlePropertyGet("Documents");
    vWDocument = vWDocuments.OleFunction("Open", vFileName,vReadOnly);
    vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText",source);
}