C++, webseitenaufruf - irgendwie gehts nicht



  • Hallo,
    bin recht neu in C++, habe vor Jahren mal damit gearbeitet, bin dann auf Visual.Net umgestiegen. Nun habe ich ein Problem was sich mit .Net nicht lösen lässt weshalb ich mit Borland und C++ arbeite. Aber irgenwie bekomme ich das trotz intensiven Forenstudium nich hin.
    Über einen Button soll eine Webseite aufgerufen werden die den Inhalt des Textfeldes Edit1 verarbeitet.

    Das Programm schaut so aus:

    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    #pragma comment(lib, "shell32.lib")
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       ShellExecute(Handle, "open", "http://dasret.vs120044.hl-users.com/cc-beta/search2.php?actualpage=10&query='Edit1'",Null,Null,SW_SHOWDEFAULT);
    }
    //-----------------------------------------------------------
    

    Ich vermute dass ich schlicht weg aufgrund meiner Unerfahrenheitmit C++ irgendwas vergessen habe zu definieren, aber was?

    Der compiler wirft folgende Fehlermeldungen raus:

    [C++ Fehler] Unit1.cpp(19): E2333 Klassenelement '_fastcall TForm1::Button1Click(TObject *)' ist außerhalb der Klasse deklariert.
    
    [C++ Fehler] Unit1.cpp(19): E2141 Fehler in der Deklarationssyntax
    
    [C++ Fehler] Unit1.cpp(20): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
    

    Könnt ihr mir bitte weiterhelfen? Vielen Dank



  • ist die Funktion void __fastcall TForm1::Button1Click(TObject *Sender) in der Unit1.h deklariert?



  • das passt von dem Zugriff auf den Inhalt der Edit nicht. Probier das mal:

    AnsiString URL = "http://dasret.vs120044.hl-users.com/cc-beta/search2.php?actualpage=10&query=" + Edit1->Text;
    ShellExecute(0, "open", URL.c_str() ,0,0,SW_SHOWDEFAULT);
    


  • danke für eure Antoworten. Der Fehler schein behoben, allerdings sagt er jetzt

    Fatal-Error Unable to open file shell32.lib
    

    was muss ich darunter verstehen?



  • Hallo,

    verzichte auf

    #pragma comment(lib, "shell32.lib")
    

    VlG



  • Vielen, vielen Dank, Programm funktioniert.


Anmelden zum Antworten