gpt4 book ai didi

delphi - 声明一个Component [x]类型

转载 作者:行者123 更新时间:2023-12-03 18:27:42 26 4
gpt4 key购买 nike

我在表单上有组件,正在寻找任何TMachine类型的组件
然后,一旦找到一个我想从组件中获取一些信息。我的问题是:我将m声明为TMachine,然后尝试分配m := Components[i],但由于m是TMachine类型,而Components是Component类型,所以不会让我。关于如何解决此问题的任何帮助,这样我就可以将找到的组件用作TMachine?

procedure TfDeptLayout.bSaveClick(Sender: TObject);
var
i: Integer;
m : TMachine;
Number,Zone,Dept,Name,Asset,IsPanel,BasicName,FinalLocation,Left,Top : String;
begin
bSave.Visible := false;
for i := ComponentCount -1 downto 0 do
begin
if(Components[I] is TMachine) then
begin
M := Components[I];
Number := m.mnNumber;
Name := m.mnName;
Asset := m.mnAsset;
IsPanel := m.mnIsPanel;
BasicName := m.mnBasicName;
if checkbox1.Checked then
FinalLocation := 'shop'
else
FinalLocation := 'w';
Left := inttostr(m.Left);
top := inttostr(m.Top);
Zone := myZone;
Dept := myDept;
Showmessage('Zone: '+Zone+' Dept: '+Dept
+'Name : '+Name+' Number: '+Number+' Asset: '+Asset
+'IsPanel: '+Ispanel+' BasicName: '+BasicName+
' FinalLocation : '+FinalLocation+' Left: '+Left+
+' Top: '+Top);
end;
end;

最佳答案

您需要使用类型转换解决类型不匹配的问题:

if(Components[I] is TMachine) then
begin
M := TMachine(Components[I]);

关于delphi - 声明一个Component [x]类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15196288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com