我已经厌倦了清除Debugging-> Exceptions选项Break when thrown
以通过我正确处理的异常,然后设置Break when thrown
选项以找到未正确处理的后续异常的来源.
我想要一种方法来排除某些try块Break when thrown
,例如预处理器指令或其他东西.我尝试录制一个宏,但它只是打开Debugging-> Exceptions对话框.
即使在较粗糙的颗粒上,指定哪些方法可以免于Break when thrown
调试也是很好的.
这是个梦想吗?
这是一个非常基本的问题,但是这里有:
我在PL/SQL中有一个VARCHAR2字符串数组.
如何打印该数组中的每个元素?
我有一个连接到oracle数据库的Delphi应用程序.
当我尝试以SYSDBA身份登录时,出现错误:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
Run Code Online (Sandbox Code Playgroud)
当我尝试使用"SYS AS SYSDBA"用户登录时,出现错误:
ORA-01017: invalid username/password; logon denied
Run Code Online (Sandbox Code Playgroud)
如何使用dbExpress连接以sysdba身份登录?
我有一个遗留的VB6应用程序,它将文件附件上传到数据库BLOB字段.除非用户打开文件,否则它可以正常工作.
我尝试创建该文件的副本,然后上传该副本,但令我惊讶的是,每当您尝试复制用户打开的文件时,FileCopy过程都会收到"权限被拒绝"错误.
这让我很惊讶,因为您可以在Windows资源管理器打开时复制文件,我假设FileCopy方法使用与资源管理器相同的API调用.
无论如何,我的问题是:如何在VB6中复制打开的文件?
当用户双击dbgrid时,我会显示一个非模态表单.
当他们关闭那个表格时,我想刷新网格.
为此,我尝试了以下方法:
1 - 定义自定义消息常量:
const
WM_REFRESH_MSG = WM_USER + 1; //defined in a globally available unit
Run Code Online (Sandbox Code Playgroud)
2 - 在我的非模态形式的OnClose事件中,我有:
procedure TMyNonModalForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
PostMessage(Self.Handle,WM_REFRESH_MSG,0,0);
end;
Run Code Online (Sandbox Code Playgroud)
3 - 在包含dbGrid的表单的私有声明中,我有:
procedure OnRefreshRequest(var Msg: TMessage); message WM_REFRESH_MSG;
...
procedure TMyFormWithADBGrid.OnRefreshRequest(var Msg: TMessage);
begin
RefreshGrid;
end;
Run Code Online (Sandbox Code Playgroud)
执行这些操作后,PostMessage会触发,但OnRefreshRequest过程永远不会运行.我究竟做错了什么?
当我打开它时,我想自动登录到VSS,并完全跳过登录提示.这可能吗?
我想找到一个属于具有特定文件版本号的.EXE文件的进程,并将其终止.我怎样才能做到这一点?
我正在与德尔福合作,但任何一般帮助将不胜感激.
首先,对这篇文章的篇幅表示道歉.如果简洁是智慧的灵魂,那么这是一个无知的问题.
我想我的问题归结为:
在Delphi子类中覆盖常量数组的最佳方法是什么?
背景:
= - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
我有一个在父类中定义的常量数组,也在很多子类中定义.数组元素的类型总是相同的,但是元素的数量和确切的数据从一个子节点到另一个子节点不同(我正在描述数据库表,因为在编译时需要元数据的特定网格控件,但那不是重点).
我有几个函数作用于这些数组.作为一个简单的例子,我可能有一个函数来返回数组的最后一个元素.
如果在父级中定义"GetLastElement",然后从子级调用该继承函数,它仍将作用于父级版本的数组.这不是我的预期.看起来孩子们应该在他们自己的本地版本的数组上调用继承的函数.
目前,我必须在每个子类中复制这些函数,这令人抓狂.
我希望能够在我的常量数组的本地版本上使用继承函数.最好的方法是什么?我已经考虑过在基类中定义一个返回静态数组的函数,然后为每个子项覆盖它.如果我这样做,那么我就不会在数组上进行操作,我会根据函数结果进行操作.
这将解决继承问题,但它引入了一个新问题,我必须定义一个新类型来封装数组,并修改我的(已经复杂的)网格控件以使用该类型.
欢迎任何建议.
下面是一个简化的应用程序,演示了我在说什么: …
我想使用Delphi监视复制文件功能.
我可以在带有shell通知程序的Windows资源管理器中执行此操作.
我的问题是使用命令提示符复制文件.
如何使用Delphi监视在命令提示符下启动的复制文件操作的进度?
我有以下Delphi代码,为CreateProcess API调用提供友好的包装器.
function StartProcess(ExeName: string; CmdLineArgs: string = '';
ShowWindow: boolean = True; WaitForFinish: boolean = False): integer;
const
c_Wait = 100;
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
begin
//Simple wrapper for the CreateProcess command
//returns the process id of the started process.
FillChar(StartInfo,SizeOf(TStartupInfo),#0);
FillChar(ProcInfo,SizeOf(TProcessInformation),#0);
StartInfo.cb := SizeOf(TStartupInfo);
//this block is the only part of execution that is different
//between my two calls. What am I doing wrong with these flags?
if not(ShowWindow) then begin
StartInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
StartInfo.wShowWindow …
Run Code Online (Sandbox Code Playgroud)