IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> RxMemoryData, Динамическое добавление полей
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 100
Пол: Мужской

Репутация: -  0  +


Доброе всем время суток!

Не могу разобратся, как динамически добавить поля в RxMemoryData. Делаю следующим образом:

Код

  mWorkHours.Close;
  for i: =1 to n do
    begin
      mWorkHours.FieldDefs.Add('d'+intToStr(i), ftString, 0, True);
    end;
  mWorkHours.Open;


Вылетает ошибка: access violation.
Что я делаю не так?

Заранее спасиба!

Сообщение отредактировано: kosyak -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






А чего бы не сделать так:
Var
field: TField;
...
mWorkHours.Close;
for i: =1 to n do
begin
field := TStringField.Create(nil);
field.FieldName := 'd' + IntToStr(i);
field.Size := 10; // Длина строки - ненулевая должна быть, правда?
field.DataSet:=mWorkHours;
end;
mWorkHours.Open;

(проверить, работает ли, не смогу, у меня RxLib не установлена, приведенное решение видел на одном из форумов, говорили, что работает).
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 100
Пол: Мужской

Репутация: -  0  +


Что то все равно не хочет.... Привожу полный код:


Var i: integer;
field: TField;
begin
i:=1;
mWorkHours.Close;
DBGridEh1.DataSource := nil;
while date1 < date2 do
begin
field := TStringField.Create(nil);
field.FieldName := 'd' + IntToStr(i);
field.Size := 256;
field.DataSet:=mWorkHours;
date1 := IncDay(date1,1);
inc(i);
end;
mWorkHours.Open;
DBGridEh1.DataSource := dsWorkHours;
DBGridEh1.Columns.AddAllColumns(true);



Вылетает access violation
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Установил RxLib под D2009 (версия, адаптированная psa1974) - твой код прекрасно отрабатывает, никаких вылетов. Единственное что я сделал - изменил DBGridEh1 на RxDBGrid1... Какой у тебя RXLib и какая версия Дельфи?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 100
Пол: Мужской

Репутация: -  0  +


Rx не помню какая... Delphi 7
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 13:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name