标签: delphi-7

Delphi:在OnBeforePost事件中取消TDataSet.Post

在我们的主数据输入屏幕上,我们在OnBeforePost事件中有一个OK/Cancel对话框.

  • 好的,让事情顺其自然
  • 现在取消会有一个Dataset.Cancel;

这意味着什么,回滚任何更改并将数据集置于浏览模式.

这对大多数客户来说都很好,但我们被问到是否可以更改为

  • 取消,中止发布并保持编辑模式,保持当前更改.

如果他们想要取消,他们可以使用取消按钮.

查看源代码procedure TDataSet.Post;看起来不可能以这种方式使用事件.

任何人都有任何想法可以这样做吗?

跟进:这就是我现在选择处理它的方式

case MessageDlg('Save Changes?', mtWarning, [mbYes, mbNo, mbAbort], 0) of
  mrYes: ;
  mrNo: Dataset.Cancel;
  mrAbort: Abort;
  mrNone: Abort;
end;
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7 tdataset

15
推荐指数
1
解决办法
1万
查看次数

如何在命令行上编译我的delphi项目?

有没有人设法使用命令行在那里编译Delphi 6和7(不是任何Delphi> 7)项目?

我看到的所有说明都不清楚到底需要去哪里!

我正在寻找一步一步的指示.

答案应限于Delphi 6和7,我理解Delphi2006并且>使用MSBuild,这要容易得多.

链接也很受欢迎.

迦特

delphi command-line compilation delphi-7 delphi-6

15
推荐指数
4
解决办法
2万
查看次数

Delphi 7 vista/windows 7清单

有没有人有一个Delphi 7清单文件的例子,允许应用程序在Windows XP/Vista/7上以管理员身份运行?

使用此功能运行应用程序通常会导致用户帐户控制(UAC)对话框询问特权权限.

delphi uac manifest delphi-7

15
推荐指数
3
解决办法
2万
查看次数

如何使用Delphi 7显示状态/任务栏按钮的进度?

如果您在Windows 7下复制文件,你会看到进步的副本在那种进度条开始显示在状态或任务栏按钮的应用程序.

这可以用Delphi 7实现吗?

我有一些冗长的操作,非常适合以这种方式显示它的进展.

使用Total Commander复制这样一个按钮的样本

使用Total Commander复制这样一个按钮的样本.

delphi delphi-7 progress-bar

15
推荐指数
3
解决办法
5870
查看次数

Indy 10 Http Server示例

我需要一个简单的代码样本用于Indy 10 Http Server当请求(post)只显示它是否有一个Indy 9样本?谢谢

delphi http indy delphi-7

15
推荐指数
2
解决办法
3万
查看次数

致命错误:无法创建输出文件"project1.exe"

所以有一段时间我一直有这个问题:

在Windows 7(64位)上,使用Delphi 7和Delphi XE2,如果来自IDE,我编译程序,运行它,停止它,更改它并重新运行它我收到此错误消息:

[致命错误]无法创建输出文件"project1.exe"

我不清楚导致这种情况的原因.我用谷歌搜索了更多信息,但我找不到解决方案.

有两种解决方法:要么等一两分钟,要么手动删除project1.exe.不用说,这是行不通的.

我没有病毒扫描程序,也没有病毒.拥有相关文件夹的完全访问权限 以管理员身份运行一切

那是什么原因导致的?我该怎么做才能解决这个问题?

delphi delphi-7 windows-7 delphi-xe2

15
推荐指数
2
解决办法
4万
查看次数

使用Delphi和Indy通过Progress事件以编程方式从Internet下载文件

我需要一种通过HTTP使用Delphi从Internet下载文件的方法,其中包括Progress事件,我正在寻找一种使用Indy组件的方法.

我使用的是Delphi 7.

delphi indy download delphi-7

14
推荐指数
1
解决办法
3万
查看次数

Delphi,FileStream和MemoryStream

我想将FileStream的一部分复制到内存流.

FileStream.Write(Pointer(MemoryStream)^, MemoryStream.Size);
FileStream.Read(Pointer(MemoryStream)^, count);
Run Code Online (Sandbox Code Playgroud)

是对的吗?它不适合我.

delphi delphi-7

14
推荐指数
1
解决办法
2万
查看次数

在1.000表单中将多个标签设置为透明?

我用Devexpress为我的软件设置了皮肤,我发现标签是不透明的,导致它们具有灰色背景.

只有无穷无尽的形式,所以我想知道是否有办法自动完成这项任务(将标签设置为透明).

我之前做了类似的事情,表单上的Devexpress控件有LookAndFeel.NativeStyle = True,我在所有dfm表单上使用Grep Search将其替换为False.但是,在标签的情况下,透明属性不存在.

谢谢.

delphi delphi-7 delphi-2010 delphi-xe

14
推荐指数
4
解决办法
1783
查看次数

如果"Assigned()"无法做到,如何检测"悬空指针"?

在另一个问题中,我发现Assigned()函数是相同的Pointer <> nil.一直是我的理解Assigned()是检测到这些悬空指针,但现在我已经知道它没有.悬空指针可能是在某一点上创建的,但此后已被释放且尚未分配nil.

如果Assigned()无法检测到悬空指针,那又可以呢?在尝试使用它之前,我想检查我的对象以确保它确实是一个有效的创建对象.我没有使用FreeAndNil尽可能多的推荐,因为我喜欢直接.我只是用SomeObject.Free.

访问违规是我最大的敌人 - 我尽我所能阻止他们出现.

delphi validation pointers delphi-7

14
推荐指数
5
解决办法
3728
查看次数