Ausführungen direkt beim Programmstart

J1M1

Erfahrenes Mitglied
Hallo!

Nach so vielen Jahren, in denen ich mich mit Computer beschäftige... habe ich mich endlich dazu beschlossen auch mit C++ anzufangen. :) Kenntnisse zu Objekten, Funktionen, Schleifen etc. waren schon vorher vorhanden, so dass ich gleich in MFC und Visual C++ eingestiegen bin.

Tja... aller Anfang is schwer. :):)

Ein paar Fragen:
• Bei Programmstart wird WinMain() aufgerufen, dann AfxMain(), und letzendlich dann InitInstance() sowie run().
InitInstance habe ich bereits gefunden, doch befinden sich denn WinMain() und AfxMain()?
Das ist einfach eine Frage aus Neugierde.
• Wo soll ich den Code reintun, der gleich bei Programmstart ausgeführt werden soll? Erstens: Im Konstruktor einer Klasse, oder in der InitInstance() einer Klasse? Zweitens: In Welcher Klasse? CMainFrame, oder in der abgeleiteten Klasse von CWinApp? Drittens: In der Header-Datei oder in der *.cpp-Datei?

Danke im Voraus!

J!M!

P.S.: Die Member in diesem Subboard können sich schon mal darauf einstellen, dass hier demnächst des Öfteren Anfängerfragen gestellt werden. ^^
 
1)
Die WinMain und AfxMain befinden sich im MFC-Code. Wenn du den mitinstalliert hast, dann findet sich die WinMain (bzw. _tWinMain) in appmodul.cpp und die AfxMain in winmain.cpp. Die sind bei MFC "versteckt", da du dort normalerweise nichts tun mußt.

2)
Es kommt darauf an, was der Code macht bzw. welche Art MFC-Projekt du gebaut hast. Wenn du Zugriff auf MFC-Klassen brauchst, würde ich auf InitInstance der CWinApp-abgeleiteten-Klasse setzen.
Wenn es davon unabhängig ist, kann es durchaus im Constructor der CWinApp-abgeleiteten-Klasse stehen.

Wenn du eine Dialog-basierte Anwendung hast, würde ich das in OnInitDialog des Dialoges machen, da der Zugriff auf die App-Klasse etwas unhandlich ist.
 
Zurück