Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизПредача vcl контроллов в процедуру Найти похожие ветки
← →
stdctrls (2006-11-06 12:49) [0]В отдельном юните имею некую процедуру, которая допустим обновляет содержимое контролла в главном окне программы. (это для примера)
procedure set_mynew_edit_text(MyEdit: TEdit; Str: string);
begin
MyEdit.Text := MyEdit.Text + Str;
end;
Пытаюсь вызвать - выскакивает AV. Вопрос: я совсем идиот? Передавать элементы таким образом нельзя?
← →
Leonid Troyanovsky © (2006-11-06 13:20) [1]
> stdctrls (06.11.06 12:49)
> Пытаюсь вызвать - выскакивает AV. Вопрос: я совсем идиот?
MyEdit не создан (это для примера).
--
Regards, LVT.
← →
stdctrls (2006-11-06 13:21) [2]Я разобрался у мебя с ошибкой. Но вопрос остается: так вообще можно делать, так рекомендуется?
← →
DrPass © (2006-11-06 13:24) [3]
> так вообще можно делать, так рекомендуется?
Делать - можно. Рекомендуется или нет - зависит от того, как ты это используешь. В принципе, ничего крамольного
← →
Leonid Troyanovsky © (2006-11-06 13:28) [4]
> stdctrls (06.11.06 13:21) [2]
> можно делать, так рекомендуется?
По крайней нужде.
--
Regards, LVT.
← →
Riply © (2006-11-06 13:42) [5]> [4] Leonid Troyanovsky © (06.11.06 13:28)
А почему "По крайней нужде" ? Что в этом "не совсем хорошо" ?
← →
Leonid Troyanovsky © (2006-11-06 13:59) [6]
> Riply © (06.11.06 13:42) [5]
> А почему "По крайней нужде" ? Что в этом "не совсем хорошо"
Повседневные нужды вполне удовлетворяет объектная модель.
Без регулярных же функций бывает трудно обойтись, например,
при вызове некоторых win32 - Enum* & etc.
--
Regards, LVT.
← →
RASkov (2006-11-06 20:52) [7]
procedure EditTextAdd(Ed: Tedit; Str: String);
begin
Ed.Text:=Ed.Text+" "+Str;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
EditTextAdd(Edit1, "FbCdАбВг");
end;
Никаких AV - все нормально, с учетом, что Edit1 есть на форме.
← →
stdctrls (2006-11-06 21:02) [8]И ещё такой вопрос, а почему его например не как var передают в процедуру? Искал в гугле и увидел, где передают как var.
← →
RASkov (2006-11-06 21:05) [9]> [8] stdctrls (06.11.06 21:02)
Классы передаются по ссылке.
← →
Ketmar © (2006-11-06 22:02) [10]>[9] RASkov 6-Nov-2006, 21:05
>Классы передаются по ссылке.
не вводи в заблуждение. класс является ссылкой. а не передаётся по ссылке. разница огромна.
← →
RASkov (2006-11-06 22:05) [11]Ну т.е. в
procedure EditTextAdd(Ed: Tedit; Str: String);
begin
Ed.Text:=Ed.Text+" "+Str;
end;
Будет указатель на
procedure TForm1.Button2Click(Sender: TObject);
begin
EditTextAdd(Edit1, "FbCdАбВг");
end;
← →
Ketmar © (2006-11-06 22:08) [12]только это не "передача по ссылке". а нормальная передача указателя.
← →
RASkov (2006-11-06 22:09) [13][8] разжевали:)
← →
Ketmar © (2006-11-06 22:10) [14]>[13] RASkov 6-Nov-2006, 22:09
>[8] разжевали:)
а что тут разжёвывать? надмозги принципиально не учат язык, на котором пишут. тут жуй, не жуй... один фиг смысла никакого.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c