Lupuz.de: Artikel-Portal / Magazin

Zurück   Postpla.net - die Forum Community > PC, Internet und Technik > Coder's Area

C++ Funktion aufrufen

Anzeigen:

Thema geschlossen
 
Themen-Optionen Thema durchsuchen
Jeg
Alt 02.08.2006, 21:41   #1
Frage C++ Funktion aufrufen

Hi Leutz,

ich habe im mit dem Borland C++ Builder zwei Forms erstellt.
Nun besitzt Unit1.cpp, sprich Form1 einige (auch selbstgeschriebene)
Funktionen, die ich gerne über das Form2 aus aufrufen möchte.

Also in diesem Sinne:
Code:
Form1->funktionsname();
So wie ich es dort oben ausgeführt habe geht es jedoch nicht,
hat jemand eine Idee oder die Lösung für mein Poblem?

---
MFG Jeg
 
 
Nach oben
gagget
Alt 02.08.2006, 23:14   #2
Standard

Also normal musst du nur in der Form2.cpp einfach zusätzlich zu
der Form2.h noch die Form1.h einbinden.
also so :
Code:
#include "Form2.h"
#include "Form1.h"
 
 
Nach oben
Jeg
Alt 03.08.2006, 01:47   #3
Standard

@gagget

Jepp genau. Danach kann man ja auch auf alle Komponenten des
jeweiligen Forms zugreifen. Jedoch nicht auf die selbst geschriebenen
Funktionen...
 
 
Nach oben
gagget
Alt 03.08.2006, 02:31   #4
Standard

Haste den die Funktion auch in Form1.h als Teil der Class TForm1 eingetragen ?
Wenn ja, auch unter public ?
 
 
Nach oben
Feiermeister
Alt 03.08.2006, 18:55   #5
Standard

Ich denke das du die Funktionen in der *.cpp deklarierst bzw. definiert hast. Du solltest allerdings die Funktionen in der *.h definieren und diese dann in der cpp nur noch aufrufen.
Wenn du das gemacht hast, brauchste nur noch die jeweilige *.h in die *.cpp einbinden und kannste alle Funktionen benutzen!
 
 
Nach oben
Jeg
Alt 09.08.2006, 18:40   #6
Standard

Was muss ich den selbst geschriebenen Funktionen als Parameter übergeben um Komponenten wie z.B. die Edit Felder benutzen zu können?

Beispiel:
Code:
int funktion()
{
   bla bla
   Edit1->Text = "bla bla";
   bla bla
}
Dabei meldet der Compiler den Fehler, das Edit1 unbekannt wäre...
 
 
Nach oben
gagget
Alt 09.08.2006, 21:25   #7
Standard

Feiermeister liegt da schon richtig, auch wenn er sich vieleicht etwas unglücklich ausgedrückt hat.

Du musst deine Funktion in Form1.h deklarieren und in der dazugehörigen Form1.cpp definieren. Wenn du von einem anderen Form aus auf die Funktion zugreifen musst als public, ansonsten reicht eigtl auch privat.
Wenn du das so machst wird deine Funktion zu einem Teil der Klasse TForm1 und in der gibt es ja dein Edit Feld, auf das du dann, wie oben geschrieben, zugreifen kannst.

Solltest du deine Funktion einfach nur in der Form1.cpp deklariert und definiert haben, ist sie nicht Teil der Klasse Form1. Dadurch müsstest du über die Klasse auf das Editfeld zugreifen.

Also :
Code:
Form1->Edit1->Text = "bla";
Die erst genannte Möglichkeit ist aber eigentlich "richtiger", auch wenns kein "richtig" gibt. Zur not schreib ich auch gern mal n Besipiel.
 
 
Nach oben
Wodar Hospur
Alt 09.08.2006, 22:09   #8
Standard

in visual C++ würdest du einen Zeiger auf das Fenster übergeben
Code:
int Klassenname::Funktionsname(Form1 *mform)
{
     mform->Funktion();
}
 
 
Nach oben
Jeg
Alt 09.08.2006, 22:17   #9
Standard

Wofür steht den das *mform ?
Was müsste ich den da reinschreiben damit mein Beispiel funzt?
 
 
Nach oben
Wodar Hospur
Alt 09.08.2006, 22:18   #10
Standard

okay, beispiel:
Code:
///gehört in meinprogramm.h

#include form1.h
class meinprogramm
{
public:
  meinprogramm(void)
  ~meinprogramm(void)
 int funktion(form1 *mform)
}
///gehört in meinprogramm.cpp
int meinprogramm::funktion(form1 *mform)
{
  return(mform1->ergebnis());
}
///gehört in form1.cpp
meinprogramm *mp;
mp = new meinprogramm();
bla=mp->funktion(this);

Geändert von Wodar Hospur (09.08.2006 um 22:26 Uhr).
 
 
Nach oben
Jeg
Alt 11.08.2006, 18:31   #11
Standard

@Wodar Hospur

Danke für deine Mühe. Dein Beispiel hat mich zu meinem Ziel gebracht! Spitze!
 
 
Nach oben
Ähnliche Themen, die dich vielleicht interessieren
Thema Autor Forum Antworten Letzter Beitrag
Sleep Funktion für den Pc kanye Hardware 4 04.11.2007 22:39
Funktion zum Beheben von schiefen Tönen tomi Kreativcenter 2 03.05.2007 13:39
neue Funktion: Upload Script Anarchnophobia Postplanet & Lupuz.de Support 31 16.04.2004 04:30
Systemsteuerung lässt sich nicht aufrufen Hanus Betriebssysteme und Software 3 06.11.2003 16:56
Napster Clon mit Spezial Funktion? XurB Musik Planet 1 06.03.2001 19:19
Anzeigen:
Thema geschlossen

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche



Alle Zeitangaben in WEZ +2. Es ist jetzt 06:56 Uhr.


Lupuz.de - wir können auch anders!
©1998 - 2008, Lupuz:Information-Network
Powered by vBulletin Version 3.7.1 (Deutsch), Jelsoft Enterprises Ltd.
Grüne Links?

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.