function TSJ_MainFrm.CreateDataModule(FuncValue: ESJ_MainFunction)???(1): Boolean;
begin
Result := False;
case FuncValue of
mfSJ_SCJH:???(2)
begin
{ if not Assigned(dmkjk1) then???(3)
begin
dmkjk1 := Tdmkjk1.Create(self);
dmkjk1.dbConnection.Connected := False;
dmkjk1.dbConnection.Address := FOcxParams.AppServerIP;
end;
谁能告诉我以上这3处是什么意思?实在看不懂!
begin
Result := False;
case FuncValue of
mfSJ_SCJH:???(2)
begin
{ if not Assigned(dmkjk1) then???(3)
begin
dmkjk1 := Tdmkjk1.Create(self);
dmkjk1.dbConnection.Connected := False;
dmkjk1.dbConnection.Address := FOcxParams.AppServerIP;
end;
谁能告诉我以上这3处是什么意思?实在看不懂!
这样写的话在程序退出前如果有释放dmkjk1的地方必须加:dmkjk1 := nil;
你的ESJ_MainFunction应该是枚举类型,而mfSJ_SCJH是其中的一个值
if not Assigned(dmkjk1) then保证实例只被创建一次
begin
Result := False;
case FuncValue of
mfSJ_SCJH:???(2)//这是参数传进来的值,要看Esj_mainFunction 的类型定义了肯定是作者自定义的类型,可以用Ctrl+单击Esj_MainFunction查看
begin
{ if not Assigned(dmkjk1) then???(3)//如果DmKjk1未创建则创建,类型为Tdmkjk1,从下面看应该是一个datamodule不过在程序启动时没有自动创建,根据Esj_MainFunction的值决定。在菜单projec-option-forms中应该在available forms 中,可以根据2法查看源程序
begin
dmkjk1 := Tdmkjk1.Create(self);
dmkjk1.dbConnection.Connected := False;
dmkjk1.dbConnection.Address := FOcxParams.AppServerIP;
end;