Форум: "Прочее";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Вниз
Begin end. Найти похожие ветки
← →
Вячеслав Бессонов (2006-02-05 16:45) [0]Опять ламерская проблема.
В Turbo Pascal сначала описывались процедуры затем шли операторные скобки begin end. В Delphi также? Пробовал, но возникает ошибка, объекты не декларированны, хотя они спокойно прописаны в type.
← →
Джо © (2006-02-05 16:47) [1]> В Delphi также?
Так же.
← →
Gero © (2006-02-05 16:48) [2]Показывай код.
← →
Вячеслав Бессонов (2006-02-05 16:55) [3]implementation
{$R *.DFM}
begin
if (ed1.Text<>"") and (ed3.Text<>"") and (ed3.Text<>"") then bt1.Visible:=True;
end.
← →
Gero © (2006-02-05 17:18) [4]> Вячеслав Бессонов (05.02.06 16:55)
В приведенном коде ршибок нет, при условии, что переменные edt1, ed3 и bt1 обьявлены и имеют соответствующие свойства.
← →
Desdechado © (2006-02-05 17:19) [5]begin-end без указания принадлежности может бытьтолько один в проекте - он у тебя уже есть в .dpr
остальные должны относиться либо к методам класса, лобо к простым функциям
← →
Gero © (2006-02-05 17:25) [6]> begin-end без указания принадлежности может бытьтолько один
> в проекте - он у тебя уже есть в .dpr
В любом модуле может быть.
← →
Вячеслав Бессонов (2006-02-05 17:27) [7]Они объявлены, но выдается ошибка, что они не объявлены.
← →
Gero © (2006-02-05 17:28) [8]> Вячеслав Бессонов (05.02.06 17:27)
> Они объявлены, но выдается ошибка, что они не объявлены.
Значит они не обьявлены.
По крайней мере, в приведенном коде обьявления не видно.
← →
Desdechado © (2006-02-05 17:31) [9]Gero © (05.02.06 17:25) [6]
> В любом модуле может быть.
ну-ка, просвети
← →
Gero © (2006-02-05 17:33) [10]> Desdechado © (05.02.06 17:31)
Что за тон?
Просветиться можешь самостоятельно, проверив на практике.
← →
Кефир87 © (2006-02-05 17:36) [11]Может Form1.ed1.Text
← →
Вячеслав Бессонов (2006-02-05 17:41) [12]unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons;
type
Tfm2 = class(TForm)
pnl1: TPanel;
ed1: TEdit;
ed2: TEdit;
ed3: TEdit;
ed4: TEdit;
ll1: TLabel;
ll2: TLabel;
ll3: TLabel;
ll4: TLabel;
ll5: TLabel;
ll6: TLabel;
ed5: TEdit;
ed6: TEdit;
bbt1: TBitBtn;
bt1: TButton;
llp: TLabel;
procedure bt1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm2: Tfm2;
implementation
uses Unit1;
{$R *.DFM}
procedure Tfm2.bt1Click(Sender: TObject);
begin
fmG.mm.Lines.Add(ed1.Text);
fmG.mm.Lines.Add(ed3.Text);
fmG.mm.Lines.Add(ed2.Text);
end;
begin
if (fm2.ed1.Text<>"") and (fm2.ed2.Text<>"") and (fm2.ed3.Text<>"") then fm2.bt1.Visible:=True;
end.
при таком варианте выдается ошибка.
← →
Gero © (2006-02-05 17:44) [13]> begin
> if (fm2.ed1.Text<>"") and (fm2.ed2.Text<>"") and (fm2.ed3.Text<>"")
> then fm2.bt1.Visible:=True;
> end.
Этот код выполнится при инницализации модуля, еще до создания формы. Соответственно, форма не создана, а происходят попытки к ней обратиться. Отсюда и ошибка.
Когда, по твоей задумке, должен выполниться этот код?
← →
Вячеслав Бессонов (2006-02-05 17:50) [14]У меня были такие подозрения. Я хочу выполнить до процедур, не использую
их
как В Паскале
← →
Gero © (2006-02-05 17:52) [15]> Я хочу выполнить до процедур
До каких процедур ты хочешь это выполнить?
← →
Desdechado © (2006-02-05 17:54) [16]> Этот код выполнится при инницализации модуля
для инициализации предназначена секция initialization
а для чего тогда бессмысленный беззаголовочный begin-end?
← →
Gero © (2006-02-05 17:55) [17]> а для чего тогда бессмысленный беззаголовочный begin-end?
Для совместимости с Turbo Pascal.
← →
Desdechado © (2006-02-05 17:56) [18]бр, эти обратные совместимости только путают людей, что автора сабжа, что меня...
← →
Вячеслав Бессонов (2006-02-05 18:17) [19]Мне не нужна совместимостимость с Турбо Паскалем.
Я хочу выполнить эти строки, не использую процедуры и объекты(кнопки и т.д.)
← →
Кефир87 © (2006-02-05 18:19) [20]Когда выполнить надо?
← →
Desdechado © (2006-02-05 18:20) [21]ты не путайся
винда - система событийная, в ней все происходит в реакцию на какое-то событие
поэтому "просто выполнить" нельзя, надо определить, в каком случае ты хочешь это выполнить
← →
Вячеслав Бессонов (2006-02-05 18:22) [22]тогда как?
обязательно кнопку или что-то в этом роде?
← →
Desdechado © (2006-02-05 18:25) [23]ЕЩЕ РАЗ - в каком случае должен выполниться код?
← →
Вячеслав Бессонов (2006-02-05 18:30) [24]Появляется форма, человек что-то пишет в Edit"ах
затем выполняется код
← →
Desdechado © (2006-02-05 18:35) [25]теперь - как программа должна узнать, что человек ЗАКОНЧИЛ писать в эдитах?
← →
Gero © (2006-02-05 18:39) [26]TEdit.OnChange
← →
Вячеслав Бессонов (2006-02-05 18:46) [27]Уже сделал. Спасибо тебе, Gero.
← →
TUser © (2006-02-06 06:41) [28]Вообще, подозреваю, что надо Form1.edt1, а правильнее все это - в OnCreate, т.к. при выполнении секции initialization Form1 еще не создана и будет AV.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.042 c