crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> Включение C библиотеки в проект, Возможно ли такое?
sblblx
  опции профиля:
сообщение 10.10.2010, 7:51
Сообщение #21


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 5.9.2010
Пользователь №: 2011

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем спасибо за участие:) Получилось выполнить поставленную задачу следующим образом
    extern "C" {struct hive *openHive(char *filename, int mode);}

void MainWindow::on_pushButton_clicked()
{
    QString fileName = QFileDialog::getExistingDirectory(this,
                                         tr("Open Hive"), "/home");
QString filename = fileName+"default";
char *file = filename.toAscii().data();
*openHive(file, 0x0);

}


ф-я openHive выводит информацию в консоль. Как бы мне ее вывести в textBrowser?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 10.10.2010, 9:12
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Не стоит так делать:
void MainWindow::on_pushButton_clicked()
{
    ...
    char *file = filename.toAscii().data();
    *openHive(file, 0x0);
}

К моменту вызова функции openHive, указатель file будет указывать на разрушенный буфер.

Можно делать так:
void MainWindow::on_pushButton_clicked()
{
    ...
    *openHive( filename.toAscii().data(), 0x0 );
}

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sblblx
  опции профиля:
сообщение 10.10.2010, 9:26
Сообщение #23


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 5.9.2010
Пользователь №: 2011

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо за поправку. А как всетаки быть с выводом printf в textBrowser?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sblblx
  опции профиля:
сообщение 10.10.2010, 19:09
Сообщение #24


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 5.9.2010
Пользователь №: 2011

Спасибо сказали: 0 раз(а)




Репутация:   0  


Занятно... На одном компе все заработало, на другом вылетает... Везде стоит Mandriva 2009. При попытке открыть файл прога вылетает с ошибкой сегментирования :unsure:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
sblblx
  опции профиля:
сообщение 11.10.2010, 8:32
Сообщение #25


Студент
*

Группа: Участник
Сообщений: 27
Регистрация: 5.9.2010
Пользователь №: 2011

Спасибо сказали: 0 раз(а)




Репутация:   0  


Переставил Qt - все заработало
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 24.12.2025, 23:44