Главная страница
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.039 c
15-1143862359
Pazitron_Brain
2006-04-01 07:32
2006.04.23
Почему этот скрипт не отображает результат?


2-1144234255
Id
2006-04-05 14:50
2006.04.23
DBComboBox1.Style:=csDropDownList


2-1144357771
Std
2006-04-07 01:09
2006.04.23
динамический массив


3-1140707383
Serg1981
2006-02-23 18:09
2006.04.23
Заполнение Мемо-поля


11-1125182052
ebta
2005-08-28 02:34
2006.04.23
just a little bug v2.10