我已经使用Delphi很长一段时间了,但是我没有从CS背景中学到"在工作中" - 主要来自我的Boss,并且通过网络上的点点滴滴,用户指南,示例进行了扩充.等
现在我的老板是老学校,开始使用Pascal进行编程,并且不一定了解最新的Delphi更新.
就在最近,我一直想知道我们的核心技术是否"错误".
我们的大多数应用程序都与MySQL连接.一般来说,我们将创建一个record
带有结构来存储从DB读取的数据,并将这些记录存储在一个TList
.通常,我们将有一个单元,用于定义应用程序中的各种记录,以及种子和读取记录的功能和过程.我们不使用此处概述的记录程序
在回顾了一些例子之后,我开始想知道我们是否会更好地使用classes
而不是记录,但无论如何我都难以找到强有力的指导.
我们正在处理的事情是用户信息:名称,DOB,事件,事件类型.或时间表信息:小时,工作等...
是否有可能让Delphi在一段时间后关闭ShowMessage或MessageDlg对话框?
我想在关闭应用程序时向用户显示一条消息,但不想让应用程序关闭超过10秒钟左右.
我可以在定义的时间后关闭默认对话框,还是需要编写自己的表单?
我有一个Delphi控制台应用程序,最终需要启动两个应用程序之一.
我遇到一些问题让ShellExecute无错误地工作,我认为问题与没有控制台应用程序的句柄有关.
引起我悲伤的一句话是:
ShellExecute(0, 'open', 'someapplication.exe', nil, nil, SW_SHOWNORMAL);
Run Code Online (Sandbox Code Playgroud)
我认为句柄中的0是问题,因为它编译好并在调试器中运行OK,但如果我尝试运行可执行文件,我会得到一个未处理的错误(控制台应用程序认为它已经结束了).
我们只是将Window 7的支持添加到我们的内部应用程序中,并且我们遇到了将大图标支持到应用程序的问题.
我在IcoFX中创建了一个.ico文件,其中包含默认的图标范围,并将其分配给Delphi 2010中的项目.但是,当我运行应用程序时,显示的图标是默认(32x32?)图标.
问题是我在Windows XP机器上而不是在Windows 7上编译应用程序?
[更新]我已经确认XE2包含了编译时的所有图标大小 - 当然在Windows 7上进行编译时.
我有一个应用程序,它总是同时显示至少两个表单.
一般来说,我在主表单的子表单中有一个作业列表,主表单上显示相关详细信息.可以使用ShowModal管理其他详细信息.
当前的问题是用户最近要求可以将主表单拖到作业列表的前面.
据我所知,因为作业列表表格是在主表格之后创建的,并从主表格调用显示,所以它获得"前"位置.
有没有什么方法可以在运行时更改,即我可以将Active窗体设置为在前面吗?
任何人在7或Vista上有任何Delphi和Windows Aero的良好资源吗?
我们正准备将Windows 7添加到我们公司,并希望确保我们的内部应用程序尽可能适合使用.
使用Delphi 2010我可以添加Glass Frame,菜单栏继承了Aero外观,但TabControls,Grids和Status栏都显示为过时.
有帮助吗?
首先这可能吗?
我有两个问题 - 第一个问题是,在运行时创建时,我无法让组出现在TListView中.我正在使用以下代码:
lg := lvResults.Groups.Add;
lg.Header := 'New Starters';
lg.GroupID := 0;
Run Code Online (Sandbox Code Playgroud)
第二个是即使我在设计时创建组 - 我可以在表单设计器中看到它们 - 它们在运行时不存在 - 甚至在我刷新数据以添加我自己的项目之前...
附加:我已经确认以下答案适用于处女项目.但是在我想要使用它的项目中失败了!我已经用调色板中的新TListView取代了我的TListView,没有任何乐趣.列表视图位于tpagecontrol上
我们有一个 SQL 联系人数据库,它链接到我们所有的项目信息,其中包含很多附加功能。
最近有人建议我们在最终用户的电子邮件客户端中提供此信息的联系人部分 - 因此我们正在考虑设置 LDAP 服务器
是否有任何工具可以让我们将数据库中的信息(可能是我怀疑的视图)映射到 LDAP 服务器?
我正在尝试在TListView设置为ViewStyle = vsReport的列中调整大小后触发事件.
具体来说,我有两个ListViews,我想保持列宽度相同.只有一个listView具有列标题,因此需要将事件链接到这些列.
在TListViews的可用程序中,似乎没有相关选项......
有帮助吗?
我们正在将大量应用程序从Windows XP迁移到Windows 7,并且遇到了Word Automation的老问题.
我们在其中一个应用程序中遇到问题,我们在尝试连接到Word时会收到"被Callee拒绝",除非它已经打开.我们使用以下代码在Delphi 2000/Windows XP中解决了这个问题:
WordApp.Connect;
WordApp.Visible := True;
WordApp.Documents.Add(Template, EmptyParam, EmptyParam, EmptyParam);
WordApp.ChangeFileOpenDirectory(jdir);
WordApp.Visible := False;
WordDoc.ConnectTo(WordApp.ActiveDocument);
Run Code Online (Sandbox Code Playgroud)
这不再是Windows 7下的技巧 - 并且在XE2下重新编译似乎没有帮助.
我在这里看到了一个与Visual Studio 有关的问题- 任何人都知道如何将它应用到Delphi(XE2在这个阶段会好的)
担