我正在维护一个非常大的遗留应用程序.源树真是一团糟.我正在尝试设置构建服务器.
在源代码树上,我有第三方组件包含源代码(也在项目的include路径中).这些组件也安装在IDE中.
我的问题是:如何管理这些组件?
我想这样管理:
在IDE中安装组件和在包含路径中使用源代码之间的区别是什么?链接器如何处理这种情况?
我正在寻找本地连接丢失.有没有意义这样做,就像Corelabs组件上的事件一样?
谢谢
编辑:对不起,我将尝试更具体:我正在使用datasnap 2009设计原型.所以我有一个瘦客户端,一个无状态服务器应用程序和一个数据库服务器.
我能做的是检测和处理客户端和服务器应用程序之间的连接丢失(互联网连接)以适当地处理它,即:向用户显示信息性错误消息或检测服务器关闭以静默重定向另一个app服务器.
在我使用ODAC组件管理的2层中,TOraSession有一些事件来处理这个问题.
delphi delphi-2009 datasnap n-tier-architecture midas-server
我有一个遗留的应用程序来维护.目前,发布是从一个特定的开发工作站构建的,这是一个坏的坏习惯.
我要求使用虚拟化构建服务器从一个集中式环境中自动构建.唯一的问题是他们给我的服务器运行Windows Server 2003,他们不会给我一个Windows XP来做到这一点...
我应该在具体问题上小心,我应该注意什么?
谢谢
我有一个带面板的表格.
我在运行时创建框架,并通过将框架的父属性设置为面板在面板上显示它们.
在创建面板时,我没有设置所有者属性,因为我自己管理框架的生命周期.
直到现在我没有问题.接下来,我在框架上放置一个TActionList,并在动作上添加一些快捷方式.
我发现直到我将框架的所有者属性设置为面板后才执行我的操作.
有人可以解释一下吗?我认为所有者属性只是关于组件负责释放子组件,而不负责转发关键事件.
导出一些我希望能够生成html输出的数据.
我有一些不断输出的内容,比如html页眉和页脚.
我的问题是如何处理?我是否必须嵌入一些模板(在资源文件中)并解析它以使其动态化?我是否将静态内容存储在某个常量中(是否有255个限制?)并在生成动态内容时附加它们?
您是否有一些提示,有用的链接或最佳实践要分享?
谢谢
假设我有一个TModel:
TModelClass = class of TModel;
TModel = class
procedure DoSomeStuff;
end;
Run Code Online (Sandbox Code Playgroud)
和2个后代:
TModel_A = class(TModel);
TModel_B = class(TModel);
Run Code Online (Sandbox Code Playgroud)
和工厂:
TModelFactory = class
class function CreateModel_A: TModel_A;
class function CreateModel_B: TModel_B;
end;
Run Code Online (Sandbox Code Playgroud)
现在我想重构一下:
TModelFactory = class
class function CreateGenericModel(Model: TModelClass) : TModel
end;
class function TModelFactory.CreateGenericModel(Model: TModelClass) : TModel
begin
...
case Model of
TModel_A: Result := TModel_A.Create;
TModel_B: Result := TModel_B.Create;
end;
...
end;
Run Code Online (Sandbox Code Playgroud)
到目前为止没关系,但每次创建TModel后代时,我都要修改工厂case语句.
我的问题:这可能为我的所有TModel后代创建一个100%的通用工厂,所以每次创建TModel后代我都不需要修改TModelFactory吗?
我尝试使用Delphi 2009泛型,但没有找到有价值的信息,所有都与基本用法TList<T> …
delphi ×6
delphi-2009 ×2
datasnap ×1
export ×1
factory ×1
generics ×1
html ×1
midas-server ×1
owner ×1
windows-xp ×1