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

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

SetLength в dpr-файле


Внук ©   (2002-08-12 15:37:00) 

var LayoutNum,i:integer;
List:array of HKL;
LayoutFound:boolean;
begin
Application.Initialize;
Application.CreateForm(TMainForm, MainForm);

LayoutFound:=false;
LayoutNum:=GetKeyboardLayoutList(0,List);
if LayoutNum>0 then
begin
SetLength(List,LayoutNum);
GetKeyboardLayoutList(LayoutNum,List);
for i:=0 to LayoutNum-1 do
if List[i]=что-нибудь then LayoutFound:=true; // Здесь получаем AV
end;

Application.Run;
end.

Есть мысль, что работа с динамическими массивами в dpr невозможна. Правда ли это?


Внук   (2002-08-12 15:54:00) [1]

>>Ученик © (12.08.02 15:46)
Абсолютно верно :)
Уже разобрался, но все равно спасибо.
Издержки C++ дают о себе знать...


Ученик   (2002-08-12 15:46:00) [2]

GetKeyboardLayoutList(LayoutNum,List[0]);


Skier   (2002-08-12 15:46:00) [3]

>Внук

Вот такой код у меня работает :


var
List:array of LongWord;
ii : Integer;
LayoutFound : Boolean;
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);

SetLength(List, 10);

for ii := 0 to 10-1 do
if List[ii]=0 then LayoutFound:=true;

Finalize(List);


Application.Run;
end.


приглядись к GetKeyboardLayoutList...


Внук   (2002-08-12 15:40:00) [4]

HKL - тип данных Windows API, читай LongWord
if List[i]=0 например ...


Skier   (2002-08-12 15:39:00) [5]

>Внук
Что есть HKL ?
И по-подробней про if List[i]=что-нибудь:)


Наверх

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