小编Bja*_*olt的帖子

列表索引超出TPageControl的范围

我遇到了一个表现出一些奇怪行为的TPageControl.

控件有3页,但是当我这样做

for I:=0 to PageControl.PageCount-1 do begin
  PageControl.Pages[I].TabVisible := False;
  PageControl.Pages[I].Visible    := Ord(iColorScale.GenerationMode) = I;
end;
Run Code Online (Sandbox Code Playgroud)

执行循环的第一次迭代的第一行时,我得到一个'List index out of bounds(3)'错误

PageControl.Pages[0].TabVisible := False;
Run Code Online (Sandbox Code Playgroud)

现在,当我在调试器中查看PageControl属性时,一切似乎都是有序的.PageCount预计为3,我可以在评估器中看到所有页面及其属性,包括第0页的TabVisible

我在Windows 7机器上使用Delphi XE ..有谁知道发生了什么?我不知所措.

delphi tpagecontrol delphi-xe

7
推荐指数
1
解决办法
876
查看次数

对数组进行排序并在Delphi中获取索引

我有一个令人头疼的小谜题,应该是非常愉快的解决.

我有一组数组

arrayX : array of real;
arrayY : array of real;
Run Code Online (Sandbox Code Playgroud)

表示多个点x,y,使得(arrayX [0],arrayY [0])构成一个点.现在,我想根据X对这些数组进行排序,我认为必须通过arrayX获取已排序索引的列表并将其应用于两个数组,这里我的问题出现了:

如何编写一个函数,它给出了arrayX的排序索引(升序),最好是整数数组?ArrayX可以保存重复的值

arrays delphi sorting

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

如何在启动时隐藏我的Delphi XE Forms应用程序的mainform?

我有一个Delphi XE表单应用程序,我想添加一种方法来从命令行启动带有输入参数的应用程序.以这种方式启动应用程序时,我不希望主窗体显示,而是希望应用程序执行任务并关闭,类似于正常的控制台项目

我该怎么做?在项目源代码中,我尝试了各种迭代

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm7, Form7);
  if Paramstr(1) <> '' then begin
    Application.MainForm.Hide;
  end;
  Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)

但表格显示相同.并且编译器不会让我在onShow期间设置可见

forms delphi

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

标签 统计

delphi ×3

arrays ×1

delphi-xe ×1

forms ×1

sorting ×1

tpagecontrol ×1