Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2016, 12:15   #1
palpetrovich
 
Регистрация: 11.02.2016
Сообщений: 7
По умолчанию Как вызвать "свою" процедуру по кнопке?

В lazarus новичек. Не получается вызвать Show(). Программка не ругается, но и ничего не делает. Ткните носом что не так пожалуйста

Код:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
implementation
{$R *.lfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
     Show();
    // Form1.Label1.Caption := 'Гугу!';
end;

procedure Show();
begin
  Form1.Label1.Caption := 'Угу!';
end;

end.

Последний раз редактировалось Аватар; 11.02.2016 в 12:23.
palpetrovich вне форума Ответить с цитированием
Старый 11.02.2016, 12:22   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

procedure TForm1.Show();
и описать Show в private формы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.02.2016, 12:26   #3
palpetrovich
 
Регистрация: 11.02.2016
Сообщений: 7
По умолчанию

Аватар - спасибо, я почему-то думал что такая процедура "не принадлежит" форме
palpetrovich вне форума Ответить с цитированием
Старый 11.02.2016, 12:29   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Можно, но тогда она должна быть в коде выше обращений к ней. И в ней обращения к свойствам и методам формы все через указатель на форму
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.02.2016, 12:33   #5
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Цитата:
В lazarus новичек.
Тут у Вас возникла следующая проблема:
Перед Вами форма, имеющая некоторые части (метки, кнопки и т.д.). Эти части скрыты от остальных объектов программы, поэтому просто так Вы туда не попадете.
Аватар Вам подсветил волшебное слово . Так Вы делаете эту процедуру принадлежной форме и соответственно, она получает доступ к частям формы
Код:
Form1.Label1.Caption := 'Угу!';
Почитайте про секции формы protected, private, public.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить мышь реагировать на настройку "На кнопке, выбираемой по умолчанию" Sibedir Общие вопросы Delphi 25 16.02.2016 14:33
Как вызвать окно "Компьютер" -> Свойства (Windows 8) XerSon Общие вопросы Delphi 6 16.12.2012 21:01
Как "перевернуть" алгоритм процедуру? bakanaev Общие вопросы Delphi 2 07.08.2012 19:57
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
писал программу вылезло "попытка вызвать процедуру как функцю" объясните че не так PlayHard Паскаль, Turbo Pascal, PascalABC.NET 8 15.05.2010 00:25