problem 13 fehler



  • 1>Kompilieren...
    1>cl : Befehlszeile warning D9035 : Die Option "Wp64" ist veraltet und wird in einer der nächsten Versionen entfernt.
    1>main.cpp
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(157) : error C2065: 'i': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(157) : error C2065: 'i': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(157) : error C2065: 'i': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(159) : error C2065: 'i': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(159) : error C2228: Links von ".dwBytesInRes" muss sich eine Klasse/Struktur/Union befinden.
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(165) : error C2065: 'i': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(165) : error C2228: Links von ".dwImageOffset" muss sich eine Klasse/Struktur/Union befinden.
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(166) : error C2065: 'i': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(166) : error C2228: Links von ".dwBytesInRes" muss sich eine Klasse/Struktur/Union befinden.
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(167) : error C2065: 'i': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(167) : error C2228: Links von ".nID" muss sich eine Klasse/Struktur/Union befinden.
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(167) : error C2065: 'i': nichtdeklarierter Bezeichner
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(167) : error C2228: Links von ".dwBytesInRes" muss sich eine Klasse/Struktur/Union befinden.
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(369) : warning C4244: 'Argument': Konvertierung von 'time_t' in 'unsigned int', möglicher Datenverlust
    1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(456) : warning C4129: 'c': Nicht erkannte Folge von Escapesequenz
    1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Administrator\Desktop\d\Debug\BuildLog.htm" gespeichert.
    1>d - 13 Fehler, 3 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    ___________________________________________________________________________

    BOOL AddIcon(LPSTR szIFileName, LPSTR szEFileName)
    {
    	HANDLE hFile = CreateFile(szIFileName, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
    	if(hFile == INVALID_HANDLE_VALUE)
    	{
    		return FALSE;
    	}
    	LPICONDIR lpid;
    	lpid = (LPICONDIR)malloc(sizeof(ICONDIR));
    	if(lpid == NULL)
    	{
    		return FALSE;
    	}
    	DWORD dwBytesRead;
    	ReadFile(hFile, &lpid->idReserved, sizeof(WORD), &dwBytesRead, NULL);
    	ReadFile(hFile, &lpid->idType, sizeof(WORD), &dwBytesRead, NULL);
    	ReadFile(hFile, &lpid->idCount, sizeof(WORD), &dwBytesRead, NULL);
    	lpid = (LPICONDIR)realloc(lpid, (sizeof(WORD) * 3) + (sizeof(ICONDIRENTRY) * lpid->idCount));
    	if(lpid == NULL)
    	{
    		return FALSE;
    	}
    	ReadFile(hFile, &lpid->idEntries[0], sizeof(ICONDIRENTRY) * lpid->idCount, &dwBytesRead, NULL);
    	LPGRPICONDIR lpgid;
    	lpgid = (LPGRPICONDIR)malloc(sizeof(GRPICONDIR));
    	if(lpgid == NULL)
    	{
    		return FALSE;
    	}
    	lpgid->idReserved = lpid->idReserved;
    	lpgid->idType = lpid->idType;
    	lpgid->idCount = lpid->idCount;
    	lpgid = (LPGRPICONDIR)realloc(lpgid, (sizeof(WORD) * 3) + (sizeof(GRPICONDIRENTRY) * lpgid->idCount));
    	if(lpgid == NULL)
    	{
    		return FALSE;
    	}
    	for(int i = 0; i < lpgid->idCount; i++)
    	{
    		lpgid->idEntries[i].bWidth = lpid->idEntries[i].bWidth;
    		lpgid->idEntries[i].bHeight = lpid->idEntries[i].bHeight;
    		lpgid->idEntries[i].bColorCount = lpid->idEntries[i].bColorCount;
    		lpgid->idEntries[i].bReserved = lpid->idEntries[i].bReserved;
    		lpgid->idEntries[i].wPlanes = lpid->idEntries[i].wPlanes;
    		lpgid->idEntries[i].wBitCount = lpid->idEntries[i].wBitCount;
    		lpgid->idEntries[i].dwBytesInRes = lpid->idEntries[i].dwBytesInRes;
    		lpgid->idEntries[i].nID = i + 1;
    	}
    	HANDLE hUpdate;
    	hUpdate = BeginUpdateResource(szEFileName, TRUE);
    	if(hUpdate == NULL)
    	{
    		CloseHandle(hFile);
    		return FALSE;
    	}//IN DIESEM ABSCHNITT MUSS DER FEHLER SEIN
    	for(i = 0; i < lpid->idCount; i++)
    	{
    		LPBYTE lpBuffer = (LPBYTE)malloc(lpid->idEntries[i].dwBytesInRes);
    		if(lpBuffer == NULL)
    		{
    			CloseHandle(hFile);
    			return FALSE;
    		}
    		SetFilePointer(hFile, lpid->idEntries[i].dwImageOffset, NULL, FILE_BEGIN);
    		ReadFile(hFile, lpBuffer, lpid->idEntries[i].dwBytesInRes, &dwBytesRead, NULL);
    		if(UpdateResource(hUpdate, RT_ICON, MAKEINTRESOURCE(lpgid->idEntries[i].nID), MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), &lpBuffer[0], lpid->idEntries[i].dwBytesInRes) == FALSE)
    		{ //IN DIESEM ABSCHNITT MUSS DER FEHLER SEIN
    			CloseHandle(hFile);
    			free(lpBuffer);
    			return FALSE;
    		}
    		free(lpBuffer);
    	}
    	CloseHandle(hFile);
    	if(UpdateResource(hUpdate, RT_GROUP_ICON, MAKEINTRESOURCE(1), MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), &lpgid[0], (sizeof(WORD) * 3) + (sizeof(GRPICONDIRENTRY) * lpgid->idCount)) == FALSE)
    	{
    		return FALSE;
    	}
    	if(EndUpdateResource(hUpdate, FALSE) == FALSE)
    	{
    		return FALSE;
    	}
    	return TRUE;
    }
    

    guckt mal bitte ob da jemand n fehler findet



  • 1>c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(157) : error C2065: 'i': nichtdeklarierter Bezeichner

    sagt alles.

    int i muss in die schleife:

    }//IN DIESEM ABSCHNITT MUSS DER FEHLER SEIN
        for(int i = 0; i < lpid->idCount; i++)
        {
     //...
    

    du bist von einem nicht standardkonformen compiler auf einen standardkonformen aufgestiegen, gelle?

    z.B. vom alten visual studio 6 zu einem neueren.



  • Btw.: Das Problem hat nichts mit C++/CLI zu tun.



  • Knuddlbaer schrieb:

    Btw.: Das Problem hat nichts mit C++/CLI zu tun.

    na ja... wird wohl erst nach dem forentreffen verschoben werden? 😉



  • Na an sich ist es wurscht, der Fragesteller sollte es aber wissen sonst landen seine Fragen immer wieder hier. Und die Wahrscheinlichkeit das sich dem jemand annimmt ist im richtigen Forum doch deutlich höher 🤡



  • lol, nu weiss ich auch wo ihr eure ganzen posts her habt..

    @ knuddelbär, wenns dir wirklich darum geht, das meine fragen nicht mehr in dieser forumkathegorie gestellt werden, solltest du mich vieleicht zur richtigen linken?

    @ elise - danke! du hast recht, das war das prob, hatte es vorher in vc++ kompiliert und anschliessend in borland.

    wenn dir mal langweilig ist und du zeit hast würde ich es sehr begrüssen wenn du mich im icq oder msn addest (falls vorhanden)

    icq == 171661117
    msn == PAnick1984@hotmail.de

    gruss viro



  • kein icq, kein msn 😉

    verändere den ersten fehler, kompiliere neu und such die nächste stelle, schritt für schritt. nach jedem fehler neu kompilieren.

    das visual studio 6 war wie gesagt nicht standardkonform. (int i..)
    vom studio nach borland.. muss das sein? da wirds noch mehr geben.

    übrigens meinte knuddlbär, du würdest mehr antworten im RICHTIGEN forum kriegen. (ein nett gemeinter rat von ihm!)
    das nächste mal also geeignet posten.
    du wirst sowieso verschoben werden, wenn der entsprechende moderator hier auftaucht.

    so long



  • Der VC7 aufwärts würde mit seinem Code auch strenger umgehen. Den VC6 hab ich zum Glück nicht kennen gelernt 🤡 (Bin von Borland zu VC7 gewandert, wobei die MFC eine große Umstellung war.)

    @vironimo Die Posts haben wir vom schreiben, Und verschieben können zum Glück nur Moderatoren.
    Du musst das so sehen: Das Forum hat verschiedene "Fach"bereiche in denen sich die Leute tummeln.

    Jemand der C++/CLI betreibt wird sehr unwarscheinlich Fragen zum Borland beantworten können und die
    Leute, die Tag ein Tag aus mit den Borlandprodukten arbeiten, tummeln sich wo anders. Auch diejenigen,
    die nach Fragen suchen.

    Ich richtigen Forum platziert Hilft es vielen weiter. Die, die helfen wollen oder die Antwort kennen
    finden Deinen Post beim stöbern in "ihrer" Rubrik.

    Dir, weil es einfach mehr Leute gibt, die das Problem vllt. schon mal hatten.

    Anderen suchenden, die in der "richtigen" Rubrik nach Problemen, können Deines aber z.B. nicht finden weil
    es in einem Bereich verankert wurde, der für ganz andere Problemstellungen gedacht ist.

    Wenn ich ein Problem habe, suche ich zuerst mit google danach. Wenn dann z.B. ein Borlandproblem im C++/CLI
    Forum als Ergebnis käme, würde ich das (erstmal) überspringen.

    Das richtige Forum zu finden ist manchmal gar nicht so einfach bzw. einfach nur Ansichtssache. (Und die letzte Sicht
    hat immer der Moderator 😉 Aber erwischt man die richtige Wahl, lohnt sich das Mehrfach.

    (Postet man dagegen ständig im falschen Forum, wird man gerne geflissentlich übersehen.)

    Btw.:

    c:\dokumente und einstellungen\administrator\desktop\d\main.cpp(456) : warning C4129: 'c': Nicht erkannte Folge von Escapesequenz

    Die Warnung solltest Du Dir noch ansehen falls sie noch da ist.



  • Knuddlbaer schrieb:

    Der VC7 aufwärts würde mit seinem Code auch strenger umgehen.

    klar klar.. mein nicht standardkonform bezog sich erstmal aufs visual studio 6. danach hab ich mit microsoftcompilern aufgehört.. bisher 😉



  • danke knuddelbär, den beitrag find ich sehr hilfreich 🙂 weiss zwar immer noch nich genau wo ich den fehler hätte posten müssen aber ansonsten dickes dankeschön 🙂

    ich weiss schon was du meinst mit 'richtiges forum finden' allerdings fand ich den ersten beitrag von dir eher provozierend, aber im nachhinein kann ich es nachvollziehen weil dies grad mein erster post war und ihr wahrscheinlich öfter probleme mit one-postern habt.

    trotzdem vielen dank für alle die sich mit dem code beschäftigt haben, ist immerhin nicht selbstverständlich 🙂

    @elsie- war nicht wirklich böse gemeint, aber der post von ihm war nicht wirklich hilfreich in dem sinne. kam mir einfach so vor als wollte jemand (wie in vielen anderen foren) mal wieder seinen senf dazu geben.

    obs nun sein muss im borland anstatt im vc++ zu kompilieren is irrelavt, die frage 'warum' wäre besser gewesen,- die antwort darauf wäre - ganz einfach weil mir borland empfohlen wurde (weil ich es vorher noch nie benutzt habe).

    so long :p



  • vironimo schrieb:

    danke knuddelbär, den beitrag find ich sehr hilfreich 🙂 weiss zwar immer noch nich genau wo ich den fehler hätte posten müssen aber ansonsten dickes dankeschön 🙂

    Schau dir mal die möglichen Foren an. C++/CLI ist eine eigenständige Sprache die auf C++ basiert, das ist es wohl nicht. Dann gibt es sowohl ein Borland als auch ein MSVC Forum, schon heißer. Und für reine C++ Fragen gibt es noch das Ansi C++ Forum.

    Normalerweise würde ich in diesem Fall auf das allgemeine Forum tippen, da dein Fehler nichts spezifisches an sich hat.

    Dennoch eine Bitte: Wenn du mehrere Fehler vom Compiler gemeldet bekommst, betrachte immer nur den ersten. Meist sind die weiteren Folgefehler (wenn man sich sicher ist das dem nicht so ist, kann man natürlich weiter beheben).

    vironimo schrieb:

    obs nun sein muss im borland anstatt im vc++ zu kompilieren is irrelavt, die frage 'warum' wäre besser gewesen,- die antwort darauf wäre - ganz einfach weil mir borland empfohlen wurde (weil ich es vorher noch nie benutzt habe).

    Wofür wurde dir Borland empfohlen?
    Wenn es um zusammenklickbare Oberflächen geht: Okay, der C++ Builder ist besser
    Ansonsten: Visual hat den C++ Builder inzwischen meines erachtens Meilenweit in der Standardkonformität usw. eingeholt.

    Wenn du weder die VCL (C++ Builder) noch die MFC (MS Visual C++) einsetzt, würde ich dir ganz stark zu dem neuesten Visual C++ 2008 raten (Die Expressversionen gibt es kostenlos). Da es mir auch sehr stark nach der Windows API ausschaut, könnte es sein das du zudem die komplette MSDN (Das iso-Image ist 2 GB) inklusive SDK runterladen musst, bin mir aber nicht sicher.

    cu André



  • Hey hab nen problem ..irgendwie seh ich den fehler nicht bzw weiß nicht wie ich ihn beheben kann 😕

    #include <iostream>
    using namespace std;

    int main ()
    {
    cout<<"Dies ist ein kleiner Taschenrechner\n\n";
    do
    {
    Schleife1:

    float zeichen;
    cout << " " << endl;
    cout << "W\204hlen Sie eine Rechenart aus:\n ";
    cout << "1 -> f\201r Addition, 2 -> f\201r Subtraktion, ";
    cout << "3 -> f\201r Multiplikation,\n 4 -> f\201r Division: ";
    cin >> zeichen;
    if ((zeichen >= 1) && (zeichen <=4))
    {
    cout << " " << endl;

    float eins;
    cout << "Geben Sie die erste Zahl ein: ";
    cin >> eins;
    cout << " " << endl;

    float zwei;
    cout << "Geben Sie die zweite Zahl ein: ";
    cin >> zwei;
    cout << " \n" << endl;

    cout<<"L\224sung:\n\n";
    float ergebnis;

    if (zeichen==1)
    {
    ergebnis = eins+zwei;
    cout << eins << " + " << zwei << " = " << ergebnis << endl;
    }
    if (zeichen==2)
    {
    ergebnis = eins-zwei; cout << eins << " - " << zwei << " = " << ergebnis << endl;
    }
    if (zeichen==3)
    {
    ergebnis = eins*zwei; cout << eins << " * " << zwei << " = " << ergebnis << endl;
    }
    if (zeichen==4)
    {
    ergebnis = eins/zwei; cout << eins << " / " << zwei << " = " << ergebnis << endl;
    }
    else goto Schleife1;
    }
    char Wahl;
    cout<<"Möchten Sie eine weitere Aufgabe berechnen? <j/n>? : ";
    cin>>Wahl;
    cout<<endl<<endl;
    }
    while(Wahl=='j' || Wahl=='J');

    system ("pause");
    }

    er gibt mir an das Wahl nicht deklariert ist
    wie bekomm ich das denn hin 💡
    würde mich über hilfe freuen 😉



  • lydia schrieb:

    Hey hab nen problem ..irgendwie seh ich den fehler nicht bzw weiß nicht wie ich ihn beheben kann 😕

    ... hier stand code...

    er gibt mir an das Wahl nicht deklariert ist
    wie bekomm ich das denn hin 💡
    würde mich über hilfe freuen 😉

    1. Falsches Forum, C++ wäre korrekt.
    2. Benutze Code (hier C++) Tags
    3. Benutze ein besseres Tutorial, da sind ja goto's drin.

    Simon


Anmelden zum Antworten