Page 1 of 1

Первый косяк в моей программе

Posted: Tue Aug 10, 2010 3:54 pm
by midisa
Программа работает хорошо, но в терминал вываливается такое сообщение:

(pass:4914): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion `index >= 0 && index <= layout->length' failed

Чтобы это могло значить?

этой функцией делаю фильтр данных в гриде:

wxString s_text = m_text_search->GetValue();
if (s_text.Length() == 0)
{
SetRecordSet(m_grid, wxT("SELECT \"IDSITE\",\"NAMESITE\",\"NAME\",\"TYPE\" from \"spr_domain\""),true);
}
else
{
SetRecordSet(m_grid, wxT("SELECT \"IDSITE\",\"NAMESITE\",\"NAME\",\"TYPE\" from \"spr_domain\" where \"NAMESITE\" like '%%") + m_text_search->GetValue() + wxT("%%' or \"NAME\" like '%%") + m_text_search->GetValue() + wxT("%%'"),true);
}

m_grid->SetColLabelValue(0,wxT("Наименование"));
m_grid->SetColLabelValue(1,wxT("Логин"));
m_grid->SetColLabelValue(2,wxT("Тип"));

m_grid->SetColSize(0,300);
m_grid->SetColSize(1,130);

m_status_bar->SetStatusText(wxT("Поиск слова: ") + m_text_search->GetValue(),0);
event.Skip(true);

функцию SetRecordSet, я выделил в отдельный файл. может кому пригодиться. файл прикреплен.
Я там немного намутил с тем, чтобы выносить идентификаторы строк из базы за пределы рабочего пространства грида.
Но если в функцию передавать параметр false, то грид будет работать как обычно.
файл еще будет совершенствоваться, но главное понять. что это за сообщение:
(pass:4914): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion `index >= 0 && index <= layout->length' failed
что нужно сделать чтобы его не было? И кто такой Pango-CRITICAL? у меня в проекте ни какого Pango-CRITICAL нет ...

Re: Первый косяк в моей программе

Posted: Tue Aug 10, 2010 6:10 pm
by Mojo
midisa wrote:Программа работает хорошо, но в терминал вываливается такое сообщение:

(pass:4914): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion `index >= 0 && index <= layout->length' failed

Чтобы это могло значить?

этой функцией делаю фильтр данных в гриде:

wxString s_text = m_text_search->GetValue();
if (s_text.Length() == 0)
{
SetRecordSet(m_grid, wxT("SELECT "IDSITE","NAMESITE","NAME","TYPE" from "spr_domain""),true);
}
else
{
SetRecordSet(m_grid, wxT("SELECT "IDSITE","NAMESITE","NAME","TYPE" from "spr_domain" where "NAMESITE" like '%%") + m_text_search->GetValue() + wxT("%%' or "NAME" like '%%") + m_text_search->GetValue() + wxT("%%'"),true);
}

m_grid->SetColLabelValue(0,wxT("Наименование"));
m_grid->SetColLabelValue(1,wxT("Логин"));
m_grid->SetColLabelValue(2,wxT("Тип"));

m_grid->SetColSize(0,300);
m_grid->SetColSize(1,130);

m_status_bar->SetStatusText(wxT("Поиск слова: ") + m_text_search->GetValue(),0);
event.Skip(true);

функцию SetRecordSet, я выделил в отдельный файл. может кому пригодиться. файл прикреплен.
Я там немного намутил с тем, чтобы выносить идентификаторы строк из базы за пределы рабочего пространства грида.
Но если в функцию передавать параметр false, то грид будет работать как обычно.
файл еще будет совершенствоваться, но главное понять. что это за сообщение:
(pass:4914): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion `index >= 0 && index <= layout->length' failed
что нужно сделать чтобы его не было? И кто такой Pango-CRITICAL? у меня в проекте ни какого Pango-CRITICAL нет ...
Для удобства желательно в следующий раз код на этом форуме заключать в тег Code.

С такой проблемой, ниразу не сталкивался, но как я понимаю, в API гнома есть функция pango_layout_get_cursor_pos ()

http://people.redhat.com/otaylor/pango- ... CURSOR-POS

и эта функция сгенерировала исключение/ошибку следовательно, нужно разобраться с этой функцией, судя по всему, что-то с курсором....

выносить идентификаторы строк из базы за пределы рабочего пространства грида.

Помоему это как-то не правильно, возможно это и есть проблема.... может есть смысл попытаться как-то по другому реализовать....

Кроме, того, желательно сначала установить свойства решетки в виде названий заголовков и ширины колонок, а затем устанавливать содержимое ячеек. А у вас наоборот, как я понимаю сначала устанавливается значение ячеек, а потом, ширина колонок и названия заголовков...

Re: Первый косяк в моей программе

Posted: Wed Aug 11, 2010 4:34 am
by midisa
Mojo wrote:
midisa wrote:Программа работает хорошо, но в терминал вываливается такое сообщение:

(pass:4914): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion `index >= 0 && index <= layout->length' failed

Чтобы это могло значить?

этой функцией делаю фильтр данных в гриде:

wxString s_text = m_text_search->GetValue();
if (s_text.Length() == 0)
{
SetRecordSet(m_grid, wxT("SELECT "IDSITE","NAMESITE","NAME","TYPE" from "spr_domain""),true);
}
else
{
SetRecordSet(m_grid, wxT("SELECT "IDSITE","NAMESITE","NAME","TYPE" from "spr_domain" where "NAMESITE" like '%%") + m_text_search->GetValue() + wxT("%%' or "NAME" like '%%") + m_text_search->GetValue() + wxT("%%'"),true);
}

m_grid->SetColLabelValue(0,wxT("Наименование"));
m_grid->SetColLabelValue(1,wxT("Логин"));
m_grid->SetColLabelValue(2,wxT("Тип"));

m_grid->SetColSize(0,300);
m_grid->SetColSize(1,130);

m_status_bar->SetStatusText(wxT("Поиск слова: ") + m_text_search->GetValue(),0);
event.Skip(true);

функцию SetRecordSet, я выделил в отдельный файл. может кому пригодиться. файл прикреплен.
Я там немного намутил с тем, чтобы выносить идентификаторы строк из базы за пределы рабочего пространства грида.
Но если в функцию передавать параметр false, то грид будет работать как обычно.
файл еще будет совершенствоваться, но главное понять. что это за сообщение:
(pass:4914): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion `index >= 0 && index <= layout->length' failed
что нужно сделать чтобы его не было? И кто такой Pango-CRITICAL? у меня в проекте ни какого Pango-CRITICAL нет ...
Для удобства желательно в следующий раз код на этом форуме заключать в тег Code.

С такой проблемой, ниразу не сталкивался, но как я понимаю, в API гнома есть функция pango_layout_get_cursor_pos ()

http://people.redhat.com/otaylor/pango- ... CURSOR-POS

и эта функция сгенерировала исключение/ошибку следовательно, нужно разобраться с этой функцией, судя по всему, что-то с курсором....

выносить идентификаторы строк из базы за пределы рабочего пространства грида.

Помоему это как-то не правильно, возможно это и есть проблема.... может есть смысл попытаться как-то по другому реализовать....

Кроме, того, желательно сначала установить свойства решетки в виде названий заголовков и ширины колонок, а затем устанавливать содержимое ячеек. А у вас наоборот, как я понимаю сначала устанавливается значение ячеек, а потом, ширина колонок и названия заголовков...
Спасибо, разобрался, был в другом месте ... мой косяк не доглядел в одном месте. Считывал данные из базы при количестве строк в рекордсете равном нулю. Не могу привыкнуть к блеклому редактору и отсутствия удобного серфинга и подсказок. Стал пробовать запускать CodeLite. Хотел снова посмотреть его, а он выдает ошибку при запуске:

[email protected]:~$ codelite
codelite: relocation error: /usr/lib/codelite/libpluginu.so: symbol _ZN13wxAuiNotebook7SetFontERK6wxFont, version WXU_2.8 not defined in file libwx_gtk2u_aui-2.8.so.0 with link time reference
[email protected]:~$

может кто то это уже побеждал?

Re: Первый косяк в моей программе

Posted: Wed Aug 11, 2010 7:26 am
by Mojo
midisa wrote:
Mojo wrote:
midisa wrote:Программа работает хорошо, но в терминал вываливается такое сообщение:

(pass:4914): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion `index >= 0 && index <= layout->length' failed

Чтобы это могло значить?

этой функцией делаю фильтр данных в гриде:

wxString s_text = m_text_search->GetValue();
if (s_text.Length() == 0)
{
SetRecordSet(m_grid, wxT("SELECT "IDSITE","NAMESITE","NAME","TYPE" from "spr_domain""),true);
}
else
{
SetRecordSet(m_grid, wxT("SELECT "IDSITE","NAMESITE","NAME","TYPE" from "spr_domain" where "NAMESITE" like '%%") + m_text_search->GetValue() + wxT("%%' or "NAME" like '%%") + m_text_search->GetValue() + wxT("%%'"),true);
}

m_grid->SetColLabelValue(0,wxT("Наименование"));
m_grid->SetColLabelValue(1,wxT("Логин"));
m_grid->SetColLabelValue(2,wxT("Тип"));

m_grid->SetColSize(0,300);
m_grid->SetColSize(1,130);

m_status_bar->SetStatusText(wxT("Поиск слова: ") + m_text_search->GetValue(),0);
event.Skip(true);

функцию SetRecordSet, я выделил в отдельный файл. может кому пригодиться. файл прикреплен.
Я там немного намутил с тем, чтобы выносить идентификаторы строк из базы за пределы рабочего пространства грида.
Но если в функцию передавать параметр false, то грид будет работать как обычно.
файл еще будет совершенствоваться, но главное понять. что это за сообщение:
(pass:4914): Pango-CRITICAL **: pango_layout_get_cursor_pos: assertion `index >= 0 && index <= layout->length' failed
что нужно сделать чтобы его не было? И кто такой Pango-CRITICAL? у меня в проекте ни какого Pango-CRITICAL нет ...
Для удобства желательно в следующий раз код на этом форуме заключать в тег Code.

С такой проблемой, ниразу не сталкивался, но как я понимаю, в API гнома есть функция pango_layout_get_cursor_pos ()

http://people.redhat.com/otaylor/pango- ... CURSOR-POS

и эта функция сгенерировала исключение/ошибку следовательно, нужно разобраться с этой функцией, судя по всему, что-то с курсором....

выносить идентификаторы строк из базы за пределы рабочего пространства грида.

Помоему это как-то не правильно, возможно это и есть проблема.... может есть смысл попытаться как-то по другому реализовать....

Кроме, того, желательно сначала установить свойства решетки в виде названий заголовков и ширины колонок, а затем устанавливать содержимое ячеек. А у вас наоборот, как я понимаю сначала устанавливается значение ячеек, а потом, ширина колонок и названия заголовков...
Спасибо, разобрался, был в другом месте ... мой косяк не доглядел в одном месте. Считывал данные из базы при количестве строк в рекордсете равном нулю. Не могу привыкнуть к блеклому редактору и отсутствия удобного серфинга и подсказок. Стал пробовать запускать CodeLite. Хотел снова посмотреть его, а он выдает ошибку при запуске:

[email protected]:~$ codelite
codelite: relocation error: /usr/lib/codelite/libpluginu.so: symbol _ZN13wxAuiNotebook7SetFontERK6wxFont, version WXU_2.8 not defined in file libwx_gtk2u_aui-2.8.so.0 with link time reference
[email protected]:~$

может кто то это уже побеждал?
КодЛайт из репозитария или самосборный?

Это скорее всего проблема, несовпадения wxWidgets и CodeLite, есть смысл самому собрать, сначала wxWidgets, затем CodeLite.

Re: Первый косяк в моей программе

Posted: Wed Aug 11, 2010 7:52 am
by midisa
Mojo wrote:[quote="
КодЛайт из репозитария или самосборный?
Это скорее всего проблема, несовпадения wxWidgets и CodeLite, есть смысл самому собрать, сначала wxWidgets, затем CodeLite.
При попытке собрать коделайт при команде make выдает кучу ошибок.
Если устанавливать из деб файла или из центра приложений, то коделайт не запускается.
Вот тема в которой обсуждаем этот вопрос:
http://codelite.org/forum/viewtopic.php ... b&start=10

все чтобы я не делал (что описано в данной теме) все равно не работает.

Re: Первый косяк в моей программе

Posted: Wed Aug 11, 2010 9:51 am
by Mojo
midisa wrote:
Mojo wrote:[quote="
КодЛайт из репозитария или самосборный?
Это скорее всего проблема, несовпадения wxWidgets и CodeLite, есть смысл самому собрать, сначала wxWidgets, затем CodeLite.
При попытке собрать коделайт при команде make выдает кучу ошибок.
Если устанавливать из деб файла или из центра приложений, то коделайт не запускается.
Вот тема в которой обсуждаем этот вопрос:
http://codelite.org/forum/viewtopic.php ... b&start=10

все чтобы я не делал (что описано в данной теме) все равно не работает.
Значит нужно пересобрать wxWidgets

Re: Первый косяк в моей программе

Posted: Wed Aug 11, 2010 10:23 am
by midisa
Mojo wrote: Значит нужно пересобрать wxWidgets
Как это сделать?

Re: Первый косяк в моей программе

Posted: Wed Aug 11, 2010 10:30 am
by Mojo
midisa wrote:
Mojo wrote: Значит нужно пересобрать wxWidgets
Как это сделать?
Нужно скачать исходники, разместить их в домашнем каталоге ( уменя это /sergei/devtools/wxGTK-2.8.11 ) затем запускаем терминал и выполняем команды:

cd /sergei/devtools/wxGTK-2.8.11
mkdir gtk-build
cd gtk-build

затем

../configure --enable-unicode --disable-shared --with-gnomeprint

make

sudo make install

команда --disable-shared по желанию, если нужна статическая сборка.

Для пущей надежности, можно в конце выполнить команду:

sudo ldconfig

Re: Первый косяк в моей программе

Posted: Wed Aug 11, 2010 12:32 pm
by midisa
Mojo wrote:
midisa wrote:
Mojo wrote: Значит нужно пересобрать wxWidgets
Как это сделать?
Нужно скачать исходники, разместить их в домашнем каталоге ( уменя это /sergei/devtools/wxGTK-2.8.11 ) затем запускаем терминал и выполняем команды:
cd /sergei/devtools/wxGTK-2.8.11
mkdir gtk-build
cd gtk-build
затем
../configure --enable-unicode --disable-shared --with-gnomeprint
make
sudo make install
команда --disable-shared по желанию, если нужна статическая сборка.
Для пущей надежности, можно в конце выполнить команду:
sudo ldconfig
1. где исходники брать?
2. зачем создавать директорию, если установка все равно раскидает все файлы по всей системе?

Re: Первый косяк в моей программе

Posted: Wed Aug 11, 2010 12:43 pm
by Mojo
midisa wrote:
Mojo wrote:
midisa wrote: Как это сделать?
Нужно скачать исходники, разместить их в домашнем каталоге ( уменя это /sergei/devtools/wxGTK-2.8.11 ) затем запускаем терминал и выполняем команды:
cd /sergei/devtools/wxGTK-2.8.11
mkdir gtk-build
cd gtk-build
затем
../configure --enable-unicode --disable-shared --with-gnomeprint
make
sudo make install
команда --disable-shared по желанию, если нужна статическая сборка.
Для пущей надежности, можно в конце выполнить команду:
sudo ldconfig
1. где исходники брать?
2. зачем создавать директорию, если установка все равно раскидает все файлы по всей системе?
1. Исходники тут http://wxwidgets.org/downloads
2. Директория (папка) создается когда распаковывается скачаный архив, внутри этой папки куча разных файлов и других папок. Раскидывает все файлы по системе автоматически когда выполняется команда sudo make install

Posted: Thu Aug 12, 2010 4:34 am
by midisa
это установил из исходников. все как сказали.
все равно не запускается:

[email protected]:~/Загрузки/wxGTK-2.8.11$ codelite
codelite: relocation error: /usr/lib/codelite/libpluginu.so: symbol _ZN13wxAuiNotebook7SetFontERK6wxFont, version WXU_2.8 not defined in file libwx_gtk2u_aui-2.8.so.0 with link time reference
[email protected]:~/Загрузки/wxGTK-2.8.11$

значит причина в другом. это такой же косяк как и с postgres администратором.

Posted: Thu Aug 12, 2010 6:44 am
by Mojo
midisa wrote:это установил из исходников. все как сказали.
все равно не запускается:

[email protected]:~/Загрузки/wxGTK-2.8.11$ codelite
codelite: relocation error: /usr/lib/codelite/libpluginu.so: symbol _ZN13wxAuiNotebook7SetFontERK6wxFont, version WXU_2.8 not defined in file libwx_gtk2u_aui-2.8.so.0 with link time reference
[email protected]:~/Загрузки/wxGTK-2.8.11$

значит причина в другом. это такой же косяк как и с postgres администратором.
Трудно сказать, что именно не так, но я уверен на 100%, что это "детская болезнь", я раньше сталкивался с подобным в wxWidgets и успешно решал.