我遇到了一个表现出一些奇怪行为的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 ..有谁知道发生了什么?我不知所措.
我有一个令人头疼的小谜题,应该是非常愉快的解决.
我有一组数组
arrayX : array of real;
arrayY : array of real;
Run Code Online (Sandbox Code Playgroud)
表示多个点x,y,使得(arrayX [0],arrayY [0])构成一个点.现在,我想根据X对这些数组进行排序,我认为必须通过arrayX获取已排序索引的列表并将其应用于两个数组,这里我的问题出现了:
如何编写一个函数,它给出了arrayX的排序索引(升序),最好是整数数组?ArrayX可以保存重复的值
我有一个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期间设置可见