现在想开发一套系统,涉及的模块,功能可能会比较多,可能三个同事一起开发
我现在的想法是:
1,做一个主窗体,包括登录窗口,左边的树形菜单栏,顶部一些公用模块等,生成一个独立的EXE程序
2,其它各功能模块,均生成各自独立的EXE程序,根椐点击左边菜单,启动。
3.主程序上的一些公用参数可根椐需要传递给各功能模块程序这里有个问题,我还想清楚,就是,各功能模块的exe程序启动后,如何定位在主窗体的子窗口?
我这样做的想法就是大家分工做起来方便些,以便于程序的合并当然我们都是初学者,很多东西还不太懂。请问高手如果是你们做,会有什么好的建议给我们提供下吗,谢谢!!
我现在的想法是:
1,做一个主窗体,包括登录窗口,左边的树形菜单栏,顶部一些公用模块等,生成一个独立的EXE程序
2,其它各功能模块,均生成各自独立的EXE程序,根椐点击左边菜单,启动。
3.主程序上的一些公用参数可根椐需要传递给各功能模块程序这里有个问题,我还想清楚,就是,各功能模块的exe程序启动后,如何定位在主窗体的子窗口?
我这样做的想法就是大家分工做起来方便些,以便于程序的合并当然我们都是初学者,很多东西还不太懂。请问高手如果是你们做,会有什么好的建议给我们提供下吗,谢谢!!
没有必要把子功能模块创建到你得主窗口里,建议使用打开新窗口-〉隐藏主窗口-〉等待新窗口关闭-〉显示主窗口
function WinExecAndWait32_v1(FileName: string; Visibility: integer): Cardinal;
var
zAppName: array[0..512] of char;
zCurDir: array[0..255] of char;
WorkDir: string;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
StrPCopy(zAppName, FileName);
GetDir(0, WorkDir);
StrPCopy(zCurDir, WorkDir);
FillChar(StartupInfo, Sizeof(StartupInfo), #0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not CreateProcess(nil,
zAppName,
nil,
nil,
true,
CREATE_NEW_CONSOLE or
NORMAL_PRIORITY_CLASS,
nil,
nil,
StartupInfo,
ProcessInfo)
then Result := INFINITE
else
begin
WaitforSingleObject(ProcessInfo.hProcess, INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess, Result);
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
end;
end;
我觉得既然是多人开发,要确定开发规范以及程序主框架,还有源码的版本管理等。