Вниз
Скачать: CL | DM;

одна форма и два юнита.   Найти похожие ветки 

 
appendix ©   (2004-09-06 18:05) [0]

прошу прощения за глупый вопрос.
Есть одна  форма, и Unit1 и Unit2.
Чтобы обратиться к StringGrid из Unit2 приходится писать
form1.stringGrid1.cells[0,0]:="dddd";

Но ведь как то делают чтоб не надо было писать form1. вначале?
Пробовал Uses unit1. не помогло.


 
Семен Сорокин ©   (2004-09-06 18:09) [1]


> Но ведь как то делают чтоб не надо было писать form1. вначале?

:)) орех
наспех пришло 2 варианта:
1. либо написать
with Form1 do begin
StringGrid1....
end;
2. либо передать параметром:
function Cool(StringGrid1: TStringGrid): boolean;
begin
StringGrid1....
end;


 
Anton_K ©   (2004-09-06 18:09) [2]

А кто так делает?

Ну, можно сделать так:

with form1 do begin
 stringGrid1.cells[0,0]:="dddd";
end;


 
Anton_K ©   (2004-09-06 18:11) [3]

Не подумайте, что у меня глюки. Просто мы с Семёном Сорокиным ответили одновременно :)


 
RomeoGolf   (2004-09-06 18:13) [4]

Ну вот, уже написали... То же самое начал... А вообще-то

> Но ведь как то делают чтоб не надо было писать form1. вначале?

так не делают. Если нечто является полем класса, скажем, методом формы, то класс указывать надо, IMHO, по-любому, хотя бы через With


 
Семен Сорокин ©   (2004-09-06 18:15) [5]

можно еще так:
3.
var
 StringGrid1 : TStringGrid;

StringGrid1 := Form1.StringGrid1;
StringGrid1...
:))


 
Семен Сорокин ©   (2004-09-06 18:17) [6]

и еще так:
4.
function StrinGrid1: TStringGrid;
begin
Result := Form1.StringGrid1
end;

StringGrid1...

ЗЫ. Надеюсь хватит? :)


 
Defunct ©   (2004-09-06 21:53) [7]

Лучше всего не лазить по ресурсам другого модуля, да к тому же еще и глобальным. Раз StringGrid описан в TForm1, то в нем с ним и работайте. Иначе только запутаетесь и в итоге когда-то получите AV. Старайтесь не создавать глобальных переменных. Чаще используйте фреймы.


 
Jus   (2004-09-07 01:27) [8]


> AV

что значит?


 
Jus   (2004-09-07 01:34) [9]


> Иначе только запутаетесь и в итоге когда-то получите AV

что значит AV?


 
Defunct ©   (2004-09-07 02:47) [10]

> что значит AV?

AV - Access Violation (наиболее частая и трудно излечимая ошибка в Run Time, появляется при обращении к несуществующей области памяти, несуществующему объекту и т.п.)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
10-1038816487
Calm
2002-12-02 11:08
2004.09.19
Материалы в помощь начинающим. Где их взять?


14-1093593177
Dimich1978
2004-08-27 11:52
2004.09.19
решение нелинейных и трансцендетных ур-ий


14-1093529790
Gero
2004-08-26 18:16
2004.09.19
Браузеры


1-1094222899
MetalFan
2004-09-03 18:48
2004.09.19
снова про приведение типов)


1-1094154461
Корифей
2004-09-02 23:47
2004.09.19
Изменение даты создания




   Наверх