Unter Borland c++ Builder programmieren.



  • #include <vcl.h>
    #pragma hdrstop

    #include "VIEWMAIN.h"
    #include "MDICHILD.h"
    #include "PVbout.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource ".dfm"
    TMainForm MainForm;
    //---------------------------------------------------------------------------
    __fastcall TMainForm::TMainForm(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::ffnen1Click(TObject Sender)
    {
    if(OpenDialog -> Execute())
    {
    Tchild
    child = new Tchild(this);
    child -> SetParent;
    child -> Image-> Picture -> LoadFormFIle(OpenDialog-> Filename);
    child -> ClientWidth = child -> Image-> Picture->Width;
    child -> ClientHeigth = child->Image ->Picture->Heigth;
    child ->Caption = OpenDialog-> Filename;
    child->Show();
    }
    }
    //--------------------------------------------------------------------------
    void __fastcall TMainForm::Speichernunter1Click(TObject Sender)
    {
    Tchild
    child = dynamic_cast<Tchild
    >(ActiveMDIChild);
    if(!child) return;
    if (SaveDialog->Execute())
    {
    child -> Image->Picture ->SaveToFile(SaveDialog->Save a Picture);
    }
    }
    //---------------------------------------------------------------------------

    void __fastcall TMainForm::Nebeneinander1Click(TObject *Sender)
    {
    Tile();
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::berlappend1Click(TObject *Sender)
    {
    Cascade();
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::Alleanordnen1Click(TObject *Sender)
    {
    ArrangeIcons();
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::Inhalt1Click(TObject *Sender)
    {
    AboutBox->ShowModal();
    }
    Hallo Leute kouja bin ich, und suche Hilfe unter euch. ich versuche unter Borland c++ builder5 zu programmiren aber es klappt nicht ganz mit dem , was mein Buch sagt(Borland c++ builder3 : die Befehle sind auf Englisch und mein Compiler aud deutsch).Im Buch steht im Beispiel File, mein Kompiler liefer Datei, wenn ich versuche ein Menü auszusatten.
    wenn dieses Programm kompiliere und wo versuche ein hauptfenster und Kindfenster zu erzeugen meldet er folgenden Fehler:
    [C++ Fehler] VIEWMAIN.cpp(25): E2316 'LoadFormFIle' ist kein Element von 'TPicture'
    [C++ Fehler] VIEWMAIN.cpp(24): E2247 Zugriff auf '_fastcall TCustomForm::SetParent(TWinControl *)' nicht möglich
    [C++ Fehler] VIEWMAIN.cpp(25): E2316 'Filename' ist kein Element von 'TOpenDialog'
    [C++ Fehler] VIEWMAIN.cpp(27): E2316 'ClientHeigth' ist kein Element von 'Tchild'
    [C++ Fehler] VIEWMAIN.cpp(27): E2316 'Heigth' ist kein Element von 'TPicture'
    [C++ Fehler] VIEWMAIN.cpp(28): E2316 'Filename' ist kein Element von 'TOpenDialog'
    [C++ Fehler] VIEWMAIN.cpp(39): E2316 'Save' ist kein Element von 'TSaveDialog'
    [C++ Fehler] VIEWMAIN.cpp(39): E2121 ) fehlt beim Funktionsaufruf
    kann mir jemand sagen was ich falsch gemacht habe.Danke im Voraus.



  • Hallo

    lies dir doch mal die Fehlermeldungen durch, und denk drüber nach was die dir sagen wollen.

    Desweiteren solltest du hier im Forum einen geposteten Quellcode in C++ CodeTags einfügen. Die findest du unter den Smilies ganz links.

    bis bald
    akari



  • Ich habe mehr oder weniger geschaft die Probleme zu lösen bis au ein:

    child->SetParent(this);
    kommt immer noch diese Fehlermeldung:
    [C++ Fehler] VIEWMAIN.cpp(24): E2247 Zugriff auf '_fastcall
    TCustomForm::SetParent(TWinControl *)' nicht möglich

    und da weiss ich nicht was ich machen soll. Danke troztdem dass du so schnell reagiert hast.

    So Sieht mein Quelltext jetzt aus:

    #include <vcl.h>
    #pragma hdrstop

    #include "VIEWMAIN.h"
    #include "MDICHILD.h"
    #include "PVbout.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource ".dfm"
    TMainForm MainForm;
    //---------------------------------------------------------------------------
    __fastcall TMainForm::TMainForm(TComponent
    Owner)
    : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::ffnen1Click(TObject Sender)
    {
    if(OpenDialog -> Execute())
    {
    Tchild
    child = new Tchild(this);
    child->SetParent(this);
    child -> Image-> Picture -> LoadFromFile(OpenDialog-> FileName);
    child -> ClientWidth = child -> Image-> Picture->Width;
    child -> ClientHeight = child->Image ->Picture->Height;
    child ->Caption = OpenDialog-> FileName;
    child->Show();
    }
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::Speichernunter1Click(TObject Sender)
    {
    Tchild
    child = dynamic_cast<Tchild
    >(ActiveMDIChild);
    if(!child) return;
    if (SaveDialog->Execute())
    {
    child -> Image->Picture ->SaveToFile(SaveDialog->FileName);
    }
    }
    //---------------------------------------------------------------------------

    void __fastcall TMainForm::Nebeneinander1Click(TObject *Sender)
    {
    Tile();
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::berlappend1Click(TObject *Sender)
    {
    Cascade();
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::Alleanordnen1Click(TObject *Sender)
    {
    ArrangeIcons();
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::Inhalt1Click(TObject *Sender)
    {
    AboutBox->ShowModal();
    }
    //---------------------------------



  • Schreib statt
    child->SetParent(this);
    einfach
    child->Parent = this;
    SetParent ist protected und somit nicht direkt zugänglich. Diese Funktion wird aber beim Zuweisen zur Eigenschaft Parent intern aufgerufen.
    Schau bitte auch mal in die Hilfe zu __property.



  • Danke Braustein es hat funktioniert. Danke vielmals


Anmelden zum Antworten