Я работаю с Delphi Prism для .NET.Мне нужно вызвать публичный метод в моем классе mainform из другого метода winform.Итак, недавно узнав о static, я использовал его в своей программе.Static или Class winform отлично работает, но создание статического метода или класса, похоже, не работает одинаково.
В моем классе mainform есть метод updateButtons.Он обновляет все кнопки и элементы управления на главной форме в соответствии с действиями пользователя.Этот метод должен вызываться из другого метода winform.Итак, я превратил этот метод UpdateButtons в static или class.Хотя теперь я вижу метод для вызова, компилятор не любит.Появляется следующая ошибка: «Невозможно вызвать элемент экземпляра (любые элементы управления) без ссылки на экземпляр».
Как сделать метод классом или статическим и при этом иметь доступ к элементам управления из winform?
Основной класс со статическим или классовым методом:
MainForm = partial class(System.Windows.Forms.Form)
private
protected
method Dispose(disposing: Boolean); override;
public
class method updateButtons;
end;
определение кнопки обновления:
class method MainForm.updateButtons;
begin
if SecurityEnabled then
LoginBtn.Enabled := true //All the lines where I call Buttons raise the error exception that I mentioned above.
else
begin
UnitBtn.Enabled := true;
SignalBtn.Enabled := true;
AlarmBtn.Enabled := true;
MakerBtn.Enabled := true;
TrendBtn.Enabled := true;
DxCommBtn.Enabled := (Scanning = false);
TxBtn.Enabled := true;
ControlBtn.Enabled := true;
PIDBtn.Enabled := true;
SystemBtn.Enabled := true;
WinListBox.Enabled := true;
WinBtn.Enabled := true;
ShutdownBtn.Enabled := true;
OptionBtn.Enabled := true;
LoginBtn.Enabled:=false;
end;
end;