Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что не так в DBGrid1KeyDown(DBGrid1,VK_RETURN,[]);? [D5, Win95/98, WinME, Win2k, WinXP]


Denmin ©   (2005-02-11 08:36:00) 

Здравствуйте. Хочу сделать вот что. из процедуры, что ниже, хочу запустить то, что в процедуре DBGrid1KeyDown, но не получается. Ругается Types of actual and formal var parameters must be identical. А что такое не пойму. Может подскажете что не так?
procedure TForm18.DBGrid1DblClick(Sender: TObject);
begin
DBGrid1KeyDown(DBGrid1,VK_RETURN,[]);
end;
Заранее благодарен.


Denmin   (2005-02-11 09:08:00) [1]

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


begin...end   (2005-02-11 08:49:00) [2]

> Denmin ©   (11.02.05 8:43) [3]

> ну неужели надо умничать, показывать то что я и сам
> вижу, а нельзя просто написать, что не так.

А вот так разговаривать не надо. Вам в [1] дали совет - может быть, и не полностью разжёванный, но наводящий . И предоставили Вам возможность "поумничать" (т.е., подумать) самому .


Denmin   (2005-02-11 08:47:00) [3]

и begin...end ©   (11.02.05 08:44) [4]
спасибо. я только начинаю такие операции, может что и улучшу в будущем, а пока так поработаю.


Denmin   (2005-02-11 08:46:00) [4]

A_N_D ©   (11.02.05 08:43) [2]

все. спасибо большое.


begin...end   (2005-02-11 08:44:00) [5]

> Denmin ©   (11.02.05 8:36)

Посмотрите в спарвке на описание обработчика OnKeyDown:

type
 TKeyEvent = procedure (Sender: TObject; varKey: Word; Shift: TShiftState) of object
.

Т.е., константу VK_RETURN напрямую передать в него нельзя.

И если делать так, как делаете сейчас Вы, то тогда надо так:

procedure TForm18.DBGrid1DblClick(Sender: TObject);
var
 Key: Word;

begin
  Key := VK_RETURN;
 DBGrid1KeyDown(DBGrid1, Key,[]);
end.


Но всё же подумайте - может быть, можно улучшить ещё что-то ?


A_N_D   (2005-02-11 08:43:00) [6]

Нельзя вместо переменной передавать константу

procedure TForm18.DBGrid1DblClick(Sender: TObject);
var Key:word;
begin
 Key:=VK_RETURN;
 DBGrid1KeyDown(DBGrid1,Key,[]);
end;


Denmin   (2005-02-11 08:43:00) [7]

REP ©   (11.02.05 08:41) [1]
я это понимаю. ну неужели надо умничать, показывать то что я и сам вижу, а нельзя просто написать, что не так. я такое "перенаправление" использую всего лишь второй раз в жизни , и то в первый раз там был только sender.


REP   (2005-02-11 08:41:00) [8]

DBGrid1KeyDown(Sender: TObject; varKey: Word;...


Наверх

Титульная страница Поиск, карта сайта Написать письмо