Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

создание динамических объектов для работы с БД   Найти похожие ветки 

 
проходивший мимо....   (2006-02-27 23:19) [0]

Вот такая тема: пользватель создаёт таблицу на SQL сервере с помощью проги...указывается количество полей, после чего надо создать динамически компоненты label, combobox, edit, где количество каждого создаваемого  компонента равно количеству заданных полей. вот часть кода, который я написал:
type tl = array [1..100] of TLabel;
type te = array [1..100] of TEdit;
type tc = array [1..100] of TComboBox;
 pl = ^tl;
 pe = ^te;
 pc = ^tc;
var  l : pl;
    e : pe;
    c : pc;
память выделяю с помощью getmem...когда обращаюсь к элементам массива, то возникает ошибка EAccessViolation...Подскажите, как грамотно сделать или где косяк


 
Плохиш ©   (2006-02-28 00:41) [1]


> где косяк

"Косяк" в 17й строке.

> как грамотно сделать


type
 tl = array of TLabel;
 te = array of TEdit;
 tc = array of TComboBox;

и читать про работу с динамическими массивами.


 
проходивший мимо....   (2006-02-28 15:19) [2]

косяк убрал....), тольок вот не задача: как программно создать метку на форме...обращаюсь к элементу массива l^[i]...дальше многое перепробовал (не получается)...help...и где можно найти более полную информацию про работу с динам. массивами...заранее, спасибо


 
Desdechado ©   (2006-02-28 17:26) [3]

для твоих целей гораздо удобнее TObjectList


 
tesseract ©   (2006-02-28 17:38) [4]


> для твоих целей гораздо удобнее TObjectList


или Tlist. в Delph 7 они несильно различаются.
Например

var
tl:TList;
// При начале работы программы

tl:=Tlist.create;
procedure NewLabel;
templabel:=Tlable.create(Panel1);
tl.add(templabel);
end;
   
// Освобождение ресурсов

for i:=0 to tl.count-1 do
 Tlabel(tl[i]).free;

tl.clear;
tl.free;




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

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
3-1141191591
r@dius
2006-03-01 08:39
2006.04.23
Объединение ячеек


15-1143699353
Desdechado
2006-03-30 10:15
2006.04.23
Адресная фантазия


4-1139077583
Vlad_Ladynin
2006-02-04 21:26
2006.04.23
Эмуляция нажатия горячих клавиш.


4-1138865158
Aragon
2006-02-02 10:25
2006.04.23
Создание баллона


2-1144403565
fast2
2006-04-07 13:52
2006.04.23
Как "выкинуть" из списка Tab Order... определенный компонент?