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

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
midisa
Earned some good credits
Earned some good credits
Posts: 113
Joined: Tue Jun 22, 2010 4:15 pm
Contact:

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

Post by midisa » Tue Aug 10, 2010 3:54 pm

Программа работает хорошо, но в терминал вываливается такое сообщение:

(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 нет ...
Attachments
pass.tar.gz
открытие рекордсета в гриде. Использована база данных Postgres.
(1.46 KiB) Downloaded 157 times

Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

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

Post by Mojo » Tue Aug 10, 2010 6:10 pm

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

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

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

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

Кроме, того, желательно сначала установить свойства решетки в виде названий заголовков и ширины колонок, а затем устанавливать содержимое ячеек. А у вас наоборот, как я понимаю сначала устанавливается значение ячеек, а потом, ширина колонок и названия заголовков...
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0

midisa
Earned some good credits
Earned some good credits
Posts: 113
Joined: Tue Jun 22, 2010 4:15 pm
Contact:

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

Post by midisa » Wed Aug 11, 2010 4:34 am

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]:~$

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

Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

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

Post by Mojo » Wed Aug 11, 2010 7:26 am

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.
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0

midisa
Earned some good credits
Earned some good credits
Posts: 113
Joined: Tue Jun 22, 2010 4:15 pm
Contact:

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

Post by midisa » Wed Aug 11, 2010 7:52 am

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

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

Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

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

Post by Mojo » Wed Aug 11, 2010 9:51 am

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

все чтобы я не делал (что описано в данной теме) все равно не работает.
Значит нужно пересобрать wxWidgets
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0

midisa
Earned some good credits
Earned some good credits
Posts: 113
Joined: Tue Jun 22, 2010 4:15 pm
Contact:

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

Post by midisa » Wed Aug 11, 2010 10:23 am

Mojo wrote: Значит нужно пересобрать wxWidgets
Как это сделать?

Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

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

Post by Mojo » Wed Aug 11, 2010 10:30 am

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
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0

midisa
Earned some good credits
Earned some good credits
Posts: 113
Joined: Tue Jun 22, 2010 4:15 pm
Contact:

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

Post by midisa » Wed Aug 11, 2010 12:32 pm

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. зачем создавать директорию, если установка все равно раскидает все файлы по всей системе?

Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

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

Post by Mojo » Wed Aug 11, 2010 12:43 pm

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
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0

midisa
Earned some good credits
Earned some good credits
Posts: 113
Joined: Tue Jun 22, 2010 4:15 pm
Contact:

Post by midisa » Thu Aug 12, 2010 4:34 am

это установил из исходников. все как сказали.
все равно не запускается:

[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 администратором.

Mojo
Super wx Problem Solver
Super wx Problem Solver
Posts: 401
Joined: Wed Sep 21, 2005 8:17 am
Location: Rostov-on-Don, Southern Russia

Post by Mojo » Thu Aug 12, 2010 6:44 am

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 и успешно решал.
Win XP HE SP3, Vista
Xubuntu 12.04 LTS
wxWidgets-2.9.5
wxWidgets-3.0.0

Post Reply