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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2011, 09:54   #1
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию Выполнить процедуру

Всем привет, решил вынести в процедуру то что раньше делал по нажатию кода, да бы ути от прямой связи с vcl, но столкнулся с траблом
Код:
procedure chopik();
begin
  IF BBUX = NIL THEN
    BBUX := BBUX.Create(owner);
  begin
    with BBUX do
    begin
  BBUX.show;
end;
end;
end;
IDE ругается на owner
bulldog5293 вне форума Ответить с цитированием
Старый 31.07.2011, 10:16   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Да собственно я бы то же выматерился. Что такое ВВUX? Где и как этот код используется? Без VCL, говоришь? А какого тогда owner трогаешь? Как видишь у меня к тебе больше вопросов, чем у тебя к нам.
Баламут вне форума Ответить с цитированием
Старый 31.07.2011, 10:24   #3
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Код:
with BBUX do
    begin
  BBUX.show;
Три гениальные строки кода.
Вы вообще знаете, зачем нужен with?
_-Re@l-_ вне форума Ответить с цитированием
Старый 31.07.2011, 11:51   #4
какtus
Пользователь
 
Аватар для какtus
 
Регистрация: 02.04.2011
Сообщений: 56
По умолчанию

Код:
with BBUX do
begin
    BBUX.show;
end;
Масло масляное получается.
Надо:
Код:
with BBUX do
begin
    show;
end;
какtus вне форума Ответить с цитированием
Старый 31.07.2011, 11:53   #5
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

какtus, я об этом же писал.
_-Re@l-_ вне форума Ответить с цитированием
Старый 31.07.2011, 12:39   #6
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Метод <> процедура. Дальше - F1.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 31.07.2011, 12:51   #7
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Код:
procedure chopik();
begin
  if not Assigned(BUX) then
  begin    
    BUX := TBUX.Create(owner);
 
    with BUX do
    begin
      Show;
    end;

  end;
end;
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 31.07.2011, 14:50   #8
какtus
Пользователь
 
Аватар для какtus
 
Регистрация: 02.04.2011
Сообщений: 56
По умолчанию

Цитата:
Сообщение от _-Re@l-_ Посмотреть сообщение
какtus, я об этом же писал.
Знаю, я просто показал как надо.
какtus вне форума Ответить с цитированием
Старый 31.07.2011, 15:56   #9
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Спасибо всем кто откликнулся, и особенно chertovich, а про vcl я имел ввиду что хочу избавиться от выполнения операций в обработчике кнопки, т.е. что бы в отдельную процедуру вынести

Извеняюсь, вопрос всё равно открыт. По совету chertovich, у меня всё равно не открывается вторая форма, код в принцепе у меня был такой
Код:
var
r:string;
begin
if (Length(r)=1) then
begin
  r:='';
  Tform2.hide
end
  else
if (Length(r)=0) then
begin
r:='1';
  IF Tform2= NIL THEN
    Tform2 := Tform2.Create(owner);
  begin
    with Tform2 do
    begin
  Tform2.show;
       end;
  end;
end;
end;
А вынести в отдельную процедуру я хотел, и.з. того что бы при своей бранной не акуратности не переписывать всё повторно

Последний раз редактировалось Stilet; 31.07.2011 в 20:28.
bulldog5293 вне форума Ответить с цитированием
Старый 31.07.2011, 19:03   #10
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

1. Не путайте экземпляр класса (Form2) и сам класс (TForm2)
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти по шаблону и выполнить процедуру) Возможно ли? CacheLot Microsoft Office Word 5 20.01.2011 15:56
выполнить расчет Adriana Microsoft Office Access 4 17.10.2010 20:27
как выполнить одну процедуру в другой? betirsolt Общие вопросы Delphi 4 22.01.2010 02:24
Как выполнить процедуру (функцию) из другого модуля Всеслав Общие вопросы Delphi 4 23.05.2009 19:43