dbgrid & imagelist

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

mkazakov
новенький
Сообщения: 52
Зарегистрирован: 24.02.2012 14:04:14
Откуда: Балаково

dbgrid & imagelist

Сообщение mkazakov »

День добрый,

Такая задача нужно из imagelist вывести картинку в dbgrid.

Если можно то поподробнее.

Спасибо.
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

mkazakov писал(а):нужно из imagelist вывести картинку в dbgrid.


Вывести куды ? Как иконку строки-столбца или как содержимое поля ?
mkazakov писал(а):Если можно то поподробнее.


Вот-вот, и я о том же...
mkazakov
новенький
Сообщения: 52
Зарегистрирован: 24.02.2012 14:04:14
Откуда: Балаково

Сообщение mkazakov »

Меня интересуют оба варианта.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

mkazakov
в RxDBGrid есть.
Там по значению поля можно соответсвующую картинку из ImageList-а выводить.
mkazakov
новенький
Сообщения: 52
Зарегистрирован: 24.02.2012 14:04:14
Откуда: Балаково

Сообщение mkazakov »

А где взять этот компонент?
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

mkazakov писал(а):А где взять этот компонент?

https://lazarus-ccr.svn.sourceforge.net ... ponents/rx
mkazakov
новенький
Сообщения: 52
Зарегистрирован: 24.02.2012 14:04:14
Откуда: Балаково

Сообщение mkazakov »

Так и не полнял как его прокомпилить, подскажите?

Добавлено спустя 15 минут 48 секунд:
Помогайте ребята :(
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

mkazakov
новенький
Сообщения: 52
Зарегистрирован: 24.02.2012 14:04:14
Откуда: Балаково

Сообщение mkazakov »



Короче долго я парился и собрать так не смог

E:lazarusrxdbutils.pas(435,26) Error: Incompatible types: got "AnsiString" expected "Pointer"
E:lazarusrxdbutils.pas(447,39) Error: Incompatible type for arg no. 1: Got "Pointer", expected "AnsiString"
E:lazarusrxdbutils.pas(923,8) Error: Incompatible types: got "AnsiString" expected "Pointer"
E:lazarusrxdbutils.pas(934,19) Error: Incompatible type for arg no. 1: Got "Pointer", expected "AnsiString"
E:lazarusrxdbutils.pas(941) Fatal: There were 4 errors compiling module, stopping

Добавлено спустя 9 часов 34 минуты 40 секунд:
Может версии разные?
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

Делаете замену

Код: Выделить всё

var  Bookmark: TBookmark;
...
DataSet.FreeBookmark(Bookmark);

на

Код: Выделить всё

var  Bookmark: TBookmarkStr;
...
DataSet.FreeBookmark(PChar(Bookmark));

И всё соберётся.
mkazakov
новенький
Сообщения: 52
Зарегистрирован: 24.02.2012 14:04:14
Откуда: Балаково

Сообщение mkazakov »

Код: Выделить всё

E:lazarusrxdbutils.pas(923,8) Error: Incompatible types: got "AnsiString" expected "Pointer"


Добавлено спустя 1 час 21 минуту 39 секунд:
Что то у меня прям косики одни(
Аватара пользователя
ZeUsM
новенький
Сообщения: 57
Зарегистрирован: 08.11.2010 12:55:35
Откуда: Нерезиновая

Сообщение ZeUsM »

Такая же проблема, сколько раз не пытался установить под релизные версии Lazarus так и не довелось воспользоваться сей разработкой. :(

ЗЫ lazarus 0.9.30.4 win7 32bit.
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

mkazakov писал(а):

Код: Выделить всё

E:lazarusrxdbutils.pas(923,8) Error: Incompatible types: got "AnsiString" expected "Pointer"


Добавлено спустя 1 час 21 минуту 39 секунд:
Что то у меня прям косики одни(

Я ж выше показал путь.
И всё работает.
Аватара пользователя
ZeUsM
новенький
Сообщения: 57
Зарегистрирован: 08.11.2010 12:55:35
Откуда: Нерезиновая

Сообщение ZeUsM »

sign писал(а):
mkazakov писал(а):

Код: Выделить всё

E:lazarusrxdbutils.pas(923,8) Error: Incompatible types: got "AnsiString" expected "Pointer"


Добавлено спустя 1 час 21 минуту 39 секунд:
Что то у меня прям косики одни(

Я ж выше показал путь.
И всё работает.

Теперь в секции

Код: Выделить всё

var
  Bookmark: TBookmark;
begin
  Result := False;
  with DataSet do begin
    CheckBrowseMode;
    if BOF and EOF then Exit;
  end;
  Fields := TList.Create;
  try
    DataSet.GetFieldList(Fields, KeyFields);
    FieldCount := Fields.Count;
    Result := CompareRecord;
    if Result then Exit;
    DataSet.DisableControls;
    try
      Bookmark := DataSet.Bookmark; 


Код: Выделить всё

E:\distr\programming\FPC\rx_lazarus\rx\dbutils.pas(435,26) Error: Incompatible types: got "AnsiString" expected "Pointer"
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

mkazakov
Внимательно читаем соседнюю ветку:
viewtopic.php?f=18&t=7840

В вашем случае надо взять ревизю RxFPC не старше 2330 - например 2319.

Код: Выделить всё

svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/rx rxfpc -r 2319


Либо взять текущий FPC - 2.7.1
Ответить