问题:我需要在firebird中修改aliases.conf,但是..据我们所知,用户可以在他想要的任何位置安装firebird。因此,我需要以编程方式找出firebird的安装位置。我尝试通过注册表来执行此操作,但这不是一个好主意,因为几乎每个Windows新版本(2000,XP,VISTA,7、8和32位或64位,可能是128位)的注册表项都会更改。我也尝试找出搜索注册表的过程,例如简单的文本文件,但没有结果。我尝试找到“ HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ SharedDLLs \ aliases.conf”,但这不是简单的方法。问题可能不仅在拉撒路的注册表功能中存在,但我不知道。因此,可能有人不知道如何检查以及在哪里安装了firebird。简短地说:我
我有Tsqlquery,大多数字段使用事件Onchange.我需要在运行时以硬编码方式切换它们(例如Table.fieldbyname('ABC').Onchange:= Nil;)之后我需要打开它们(例如Table.fieldbyname('ABC'). Onchange:= TableABCChange;)我确实尝试使用指针数组并使用它如下:
var P:array [1..100] of Pointer;
begin
for i:=0 to Table.fields.count-1 do
begin
{save and switch them off}
P[i]:=@Table.fields[i].Onchange;
@Table.fields[i].Onchange:=Nil;
end;
Run Code Online (Sandbox Code Playgroud)
但我不知道如何打开它们
for i:=0 to Table.fields.count-1 do
begin
{restore and switch them on}
Table.fields[i].Onchange:=P[i]; <---- ERROR
end;
Run Code Online (Sandbox Code Playgroud)
我该怎么办?