Date: Thu, 19 Nov 1998 13:11:46 +0100 From: Vico Klump An den Projektleieter Prof. Bothe I) Bemerkungen zum Borland-Compiler und zur Ausf"uhrung von develop.exe - auf den Rechnern im NT-Pool fehlt scheinbar die Borland-Dll ctl3d.dll, so zumindest die Fehlermeldung nach dem Start der Exe - wenn man das alte ide-File als Projektfile f"ur den Borland-Compiler 5 nutzen will muss man das Dsw-File umbenennen oder l"oschen - das Projekt ist auch vom Unix-Verzeichnis aus startbar, das Compilieren ist mir aber nicht gelungen, man muss wohl noch einige Projektpfade richtig setzen Zu >>develop<< geh"oren die folgenden Dateien: 1) m_main.cpp 2) m_data.cpp 3) m_arcscan.cpp 4) m_device.cpp 5) m_scan.cpp 6) m_steerg.cpp 7) m_topo.cpp 8) dlg_tpl.cpp 9) rc_def.h Zu >>m_main.cpp<< Allgemeines: - sehr schlecht kommentiert - Definition vieler globaler Attribute ( Strukturen, Objekte, Variable ) - wichtige Funktionen werden definiert - das zugeh"orige Headerfile ist nicht zu finden wichtigste Funktion: >>WinMain<< mit disem Funktionskopf: int PASCAL WinMain( HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR,int cmdShow) >>WinMain<< ist das Windowgegenst"uck zu main, hier wird eine Instanz von TMain angelegt und die weiter Programmausf"uhrung an TMain::MessageLoop() uebergeben. wichtige Klassen: TMDIWindow TMain: Beide Klassen implementieren vorwiegend Nachrichten- behandler (Messagehandler) Wo werden die Nachrichten( Messages ) verteilt ? -in den Funktionen: DoCommandsFrame() -> Zeile 248 , DoCommandsChild() -> Zeile 535, MenuSelect() -> Zeile 895, CALLBACK _export FrameWndProc() -> Zeile 982, CALLBACK _export WndProc() -> Zeile 1137 Zwischenfrage zu Sniff+: Wie macht man die Microsoft Windows typischen Funktion die mit PASCAL oder CALLBACK als Typ bezeichnet sind innerhalb von SNIFF+ sichtbar ? Zu >>m_data.cpp<< und >>m_data.h<<: Welche Klassen und Strukturen werden in m_data.h deklariert ? TPlotData : scheinbar zur Ausgabe der Kurven benutzt zu werden TCurveShowParam : nicht klar TBitmapSource : nicht klar TCoorSystem(Struktur) : f"ur 3d Koordinatensystem TScreen(Struktur) : enthaelt Bildschirmparameter Zu >>m_arcscan.cpp<< : -Definition verschiedener Dialoge Zu >>m_device.cpp<< -Definition einer Dialogklasse TCounterShowPram -wozu TCounterWindow dient ist nicht klar Zu >>m_scan.cpp<< -wiederum Defintion von Dialogklassen ( TSetupContinuousScan und TSetupStepScan ) -weitere Klassen werden definiert deren Bedeutung noch nicht klar ist Zu >>m_steerg.h<< und >>m_steerg.cpp<< - sehr umfangreiche Quelltextfiles mit Definition von vielen Klassen und Funktionen, genauere Betrachtung sehr wichtig Zu >>m_topo.h<< und >>m_topo.cpp<< -Definition verschiedener Dialoge So dass solls erstmal soweit sein , betrachtet wurden nicht: dlg_tpl.cpp rc_def.h , da die Zeit die ich f"ur alles eingeplant hatte einfach zu knapp bemessen war. Deshalb sind meine Ausf"uhrungen zum grossen Teil auch sehr kurz geraten. Zum weiteren Programmverstehen schlage ich vor, das man mit Hilfe des Borlanddebuggers versucht einzelne Programmanlaeufe nachzuvollziehen, da wir so einen guter Eindruck vom Zusammenspiel der Objekte und der Oberflaeche bekommen. Gruss, Vico Klump.