Aus Theard auf Funktion zgreifen
-
hi,
Ich programiere gerade theards, doch es klappt noch nicht ganz... das erste proplem ist schon gelöst doch jetzt kommen die nächsten...
Ich möchte mit curl dateien hochladen... das ganze funktioniert sowit auch ganz gut. Jetzt habe ich den upload code in eine Funktion gepackt die ich Später als Theard laufen lassen will....
Das ist des uploadcode:
//***** upload_img() || Lädt die Bilder hoch. *****// public: void upload_img() { /***************************************/ /************* Upload ******************/ /***************************************/ CURL *curl; CURLcode res; struct curl_httppost *formpost=NULL; struct curl_httppost *lastptr=NULL; curl_formadd(&formpost,&lastptr,CURLFORM_COPYNAME,"datei",CURLFORM_FILE, "tmp_i.jpg",CURLFORM_END); curl_formadd(&formpost,&lastptr,CURLFORM_COPYNAME,"datei_t",CURLFORM_FILE, "tmp_t.jpg",CURLFORM_END); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "bildload.eu/upload/upload.php"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_writeCallback); curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &out); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } }und das ist die funktion curl_writeCallback:
//***** curl_writeCallback() || Callback für curl. *****// public: int curl_writeCallback(char *inBuffer, size_t size, size_t nmemb, std::string *outBuffer) { outBuffer->append(inBuffer); return size*nmemb; }Beide Funktionen sind im gleichen namepace geschrieben....
Nun kommt diese Fehlermeldung...
1>c:\users\michael\documents\visual studio 2008\projects\bildload\bildload\Form1.h(272) : error C3867: "Bildload::Form1::curl_writeCallback": Dem Funktionsaufruf fehlt die Argumentliste. Verwenden Sie "&Bildload::Form1::curl_writeCallback", um einen Zeiger auf den Member zu erstellen.Die entsprechende Zeile ist diese:
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, curl_writeCallback);Ändere ich nun diese Zeile so ab wie es in der Fehlermeldung steht so enteht dies:
1>c:\users\michael\documents\visual studio 2008\projects\bildload\bildload\Form1.h(272) : error C3374: Adresse von "Bildload::Form1::curl_writeCallback" kann nur übernommen werden, wenn eine Delegatinstanz erstellt wird.Ich hoffe ich bin im richtigen Forum und mir kann jemand helfen...
InFaIN
-
Versuch mal das Member curl_writeCallback
staticzu machen.
-
InFaIN schrieb:
(...) theards (...) Theard (...)
Man schreibt das "thread" (engl. Faden, Garn, Strang).