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öglichund 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