Fehlermeldung eMail Programm



  • Hey,
    ich habe ein Problem mit meinem Code. Ich habe 2 Formulare.
    Das erste Formular ist ein eMail empfangs Formular. Das auch funktioniert. Danach habe ich ein 2 Formular erstellt welches ich den Host, Benutzername, Passwort automatisch erscheinen sobald ich das Formular über einen Button öffne. Jetzt wollte ich ein Übernehmen Button einbauen. Der Übernehmen Button dient dazu das wenn ich auf Ihm Klicke die e-Mails im ersten Formular automatisch erscheinen. Allerdings habe ich ein Problem damit. Schaut es euch am besten selbst mal an. Dies ist der Code von dem Button Übernehmen aus dem 2 Formular.
    Kann mir vielleicht einer von euch sagen wo ich da Fehler gemacht habe.

    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
    If (Form1->NMPOP31->Connected)
    Form1->NMPOP31->Connect();
    for (int i=1; i<=Form1->NMPOP31->MailCount; i++){
    Form1->NMPOP31->GetMailMessage(i);
    If (Form1->Table1->FindKey(ARRAYOFCONST((Form1->NMPOP31->MailMessage->MessageId)))){
    Form1->Table1->InsertRecord(ARRAYOFCONST((Form1->NMPOP31->MailMessage->Subject,NMPOP31->MailMessage->Form1,NMPOP31->MailMessage->MessageId, NMPOP31->MailMessage->Head->Text,NMPOP31->MailMessage->Body->Text)));
    Form1->Query1->Close();
    Form1->Open();
    }
    }
    }

    Folgende Fehlermeldungen erhalte ich:
    E2268 Aufruf der undefinierten Funktion ‘funktion’
    E2379 Anweisung fehlt ;
    E2316 ‘bezeichner’ ist kein Element von 'strukt'
    E2379 Anweisung fehlt ;

    MfG
    Mars3



  • Den Code hast du wirklich 1:1 aus deinem Programm kopiert? Und die Fehlermeldungen stammen wortwörtlich aus DIESER Funktion? (ich sehe dort nämlich kein "funktion", "bezeichner" oder "strukt")

    Was (auf den zweiten Blick) auffällt ist, daß man "if" normalerweise mit kleinem i schreibt.



  • Hallo CStoll,
    denn Code habe ich wirklich 1:1 aus meinem Programm kopiert.
    Diese Fehlermeldungen erscheinen so wie ich es angegeben habe.
    Ich habe alle if Anweisungen klein geschrieben. Vielen Dank für den Hinweis.
    MfG
    Mars3



  • Also ich sehe in dieser Prozedur keine Fehler.

    Ich gebe dir einen Vorschlag. Mache einen Doppelklick auf die Einträge im Debugger. Anschliessen springst du schön zu der Zeile, in welche der Fehler aufgetreten ist.



  • Hallo Deforation,
    ich habe deinen Vorschlag befolgt. Der Compiler makiert die Zeile:
    Form1->Table1->InsertRecord(ARRAYOFCONST((Form1->NMPOP31->MailMessage->Subject,NMPOP31->MailMessage->Form1,NMPOP31->MailMessage->MessageId, NMPOP31->MailMessage->Head->Text,NMPOP31->MailMessage->Body->Text)));

    Fehlermeldung:
    Undefiniertes Symbol NMPOP31

    Alle anderen Fehlermeldungen erschienen nachdem ich die if Anweisungen also das Wort if klein geschrieben hatte nicht mehr.

    MfG
    Mars3



  • "Form1->NMPOP31" und "NMPOP31" sind zwei verschiedene Objekte - und offenbar gibt es weder in der Klasse TForm2 noch lokal in dieser Methode eine Variable "NMPOP31". Da müsstest du also vor alle Vorkommen das "Form1->" davorschreiben.



  • Hallo CStoll,
    ich habe alles so gemacht wie du es mir geschrieben hast.
    Jetzt funktioniert alles Wunderbar. Vielen Dank und einen schönen Abend noch.

    MfG
    Mars3


Anmelden zum Antworten