Wer findet die Fehler??
-
Hallo!, Ich bin's wieder. Ich denke hier ist mein Latein zu Ende. Ich hoffe ihr helft weiter..
----------------------------------------------------------------------------ID 1: Error E2034 Cannot convert 'void *' to 'char *'
int len = GetWindowTextLength(handle); if(len > 0) { int i; char* buf; buf = GlobalAlloc(GPTR, len + 1); GetDlgItemText(parenthandle, id, buf, len + 1); char temp; temp = *buf; GlobalFree((HANDLE)buf); //...Handle von dem char-pointer 'buf' wird freigegeben return temp; } char err[] = "ERRORistAUFGETRETEN"; return err; // hier soll der Fehler sein!
ID 2: Error E2034 Cannot convert 'char *' to 'char'
int len = GetWindowTextLength(handle); if(len > 0) { int i; char* buf; buf = GlobalAlloc(GPTR, len + 1);//Hier soll der Fehler sein! GetDlgItemText(parenthandle, id, buf, len + 1); char temp; temp = *buf; GlobalFree((HANDLE)buf); //...Handle von dem char-Pointer 'buf' wird freigegeben return temp; } char err[] = "ERRORistAUFGETRETEN"; return err;
ID 3: Error E2034 Cannot convert 'const tagWINDOWPLACEMENT *' to 'const tagWINDOWPLACEMENT *'
bspfunktion(bool newstate) { typedef struct tagPOINT { LONG x; LONG y; } POINT; tagPOINT tp; tp.x = 0; tp.y = 0; typedef struct _RECT { // rc LONG left; LONG top; LONG right; LONG bottom; } RECT; RECT r; r.left = left; r.top = top; r.right = (long)600; r.bottom = (long)600; typedef struct tagWINDOWPLACEMENT { // wndpl UINT length; UINT flags; UINT showCmd; POINT ptMinPosition; POINT ptMaxPosition; RECT rcNormalPosition; } WINDOWPLACEMENT; WINDOWPLACEMENT os; os.length = sizeof(WINDOWPLACEMENT); os.flags = NULL; os.showCmd = SW_HIDE; os.ptMaxPosition = tp; os.ptMinPosition = tp; os.rcNormalPosition = r; CONST WINDOWPLACEMENT* osp = &os; if (newstate) os.showCmd = SW_SHOW; SetWindowPlacement(handle, osp); //'osp' muss Pointer sein! also: ein 'CONST WINDOWPLACEMENT* ' // hier soll der Fehler sein }
ID 4: Error E2342 Type mismatch in parameter 'hInstance'(wanted 'HINSTANCE__ *', got 'void *')
a :: a (HANDLE apphandle ,HINSTANCE appins, HWND parenthwnd, LPCTSTR name ,HMENU ident_id) { handle = CreateWindow(TEXT("BUTTON"), name, WS_VISIBLE|WS_CHILD|BS_PUSHBUTTON|BS_TEXT|BS_CENTER,0, 0,100,50,parenthwnd,ident_id,apphandle,NULL);//Hier soll der Fehler sein! //Buttons Werte Speichern... enabled = true; visible = true; parenthandle = parenthwnd; id = (int)ident_id; height = 50; width = 100; top = 0; left = 0; appinstance = appins; classname = "BUTTON"; name = name; }
ID 5: Error E2277 Lvalue required
name[] = "STATIC"; //hier soll der Fehler sein!!! (kaum zu glauben!)
------------------------------------------------------------------
Um das Antworten zu erleichtern habe ich die Code-Schnipsel mit IDs versehn. Ich danke im Voraus.
-
Irgendwie sieht das stark nach WinAPI oö aus, ich habe jedenfalls keine Ahnung was GlobalAlloc() machen soll oder wo etwa GetDlgItemText() definiert ist.
-
Ja, es hat was mit WinAPI zutun, aber nimand sollte wagen zu sagen, dass das Problem nicht hier hin passe!!! Die fehlerquellen entstahen aus c++-syntax fehlern und haben insofern mit WinAPI nichts zutun!!!!
-
der aus düsseldorf kommt schrieb:
Ja, es hat was mit WinAPI zutun, aber nimand sollte wagen zu sagen, dass das Problem nicht hier hin passe!!! Die fehlerquellen entstahen aus c++-syntax fehlern und haben insofern mit WinAPI nichts zutun!!!!
Ich wage.
Erstens sind das keine Syntaxfehler und zweitens kann Dir niemand helfen wenn keinerlei Rückgabetypen der von Dir verwendeten/ fehlerhaft implementierten Funktionen etc. bekannt sind.
(Das ist so als würdest Du uns zwar sagen dass Dein Taschenrechner "ERROR" ausgibt wenn Du auf die Wurzel-Taste drückst aber nicht dass das nur passiert wenn Du vorher eine negative Zahl eingegeben hast.)
-
das problem ist, dass dir ein grundlegendes verständnis fehlt.
zB kannst du keinen zeiger auf eine lokale variable zurück geben - da die lokale variablen beim beenden der funktion zum existieren aufhört
weiters ist ein char != char*
char arr[100];
arr="bla";geht nicht, hier muss man den inhalt kopieren...
ich würde dir raten lieber die grundlagen zu lernen, bevor du dich an der winapi versuchst...
-
Alsooo... bei mir gibet bei Konstruktoren keine Rückgabetypen. Sorry... kann ja sein., dass einer von uns C++ und BrainFuck zusammenschmeisst
(musste kommen
(ich finde BrainFuck einfach zu *lol* musst du verstehn)
Wie gesagt, an notwendigen stellen sind die Rückgabetypen angegeben. Die Funktionen, bei denen keine sind, sind void-Funktionen. (Ich seh das als standard und dah keinen bedarf den rückgabetype void zu erwähnen, weil ich das als 'schon klar' betrachtet hatte...
-
hat sich übrigens erledigt!
Habe die Fehler fast alle gefunden. Nur noch einer ist da.
Danke fürs helfen,.... gn8 @ll!
-
Shade Of Mine schrieb:
das problem ist, dass dir ein grundlegendes verständnis fehlt.
zB kannst du keinen zeiger auf eine lokale variable zurück geben - da die lokale variablen beim beenden der funktion zum existieren aufhört
weiters ist ein char != char*
char arr[100];
arr="bla";geht nicht, hier muss man den inhalt kopieren...
ich würde dir raten lieber die grundlagen zu lernen, bevor du dich an der winapi versuchst...
wenn ich mich cniht täusche, habe ich den Pointer mit GlobalAlloc im heap erstellt. Ist der dann cniht bis zum Progr-Ende existent (es sei denn ich lösch den) ??
-
Du bist lustig.
Wenn das
int len = GetWindowTextLength(handle); if(len > 0) { int i; char* buf; buf = GlobalAlloc(GPTR, len + 1); GetDlgItemText(parenthandle, id, buf, len + 1); char temp; temp = *buf; GlobalFree((HANDLE)buf); //...Handle von dem char-pointer 'buf' wird freigegeben return temp; } char err[] = "ERRORistAUFGETRETEN"; return err; // hier soll der Fehler sein!
aus einer Funktion mit dem Rückgabetyp void ist (Konstruktor kanns ja wohl keiner sein, denn sonst würdest Du nichts zurückgeben, oder?) warum gibst Du dann ein char-Array zurück?
Warum gibst Du überhaupt ein lokales char-Array zurück?
edit: Tags
-
nee, mit Konstruktor war ja a::a gemeint!
-
*vorbeug* .... tatsächlich... da haste mich erwischt
das ist ne char-funktion, kein void.