Название: Вызов функции из общего класса в делегате. Отправлено: nikolkoYY от Январь 07, 2015, 22:06 Здравствуйте.
У меня проблема следующего характера. Имеется виджет QTableWidget и делегат в виде QLineEdit. Хотелось бы чтобы при выходе из делегата вызывалась функция, которая обновляет информацию в Базе Данных. Данная функция находится в общем классе "MainClass", там же находятся важные переменные о таблицах БД. Я пытался в функции делегата "setModelData" объявить указатель на общий класс и вызвать нужную функцию: Код: MainClass *obj; Помогите разобраться с данной проблемкой, может быть есть другие способы реализации задуманного? Всем спасибо! Название: Re: Вызов функции из общего класса в делегате. Отправлено: Bepec от Январь 07, 2015, 23:10 Ыыы.. Страуструпа в руки и читай про указатели) Особенно про неинициализированные :)
Название: Re: Вызов функции из общего класса в делегате. Отправлено: gil9red от Январь 07, 2015, 23:19 Угу, знаний по с/с++ явно не хватает :)
Указатель у вас неинициализирован, и указывает хрен знает куда, поэтому программа и падала в том месте, где указатель использовался. // Инициализация указателя: Код: MainClass *obj = new MainClass(); Название: Re: Вызов функции из общего класса в делегате. Отправлено: Bepec от Январь 08, 2015, 00:02 gil9red, спорим, он твой код скопирует туда и будет удивляться эффекту :D
Название: Re: Вызов функции из общего класса в делегате. Отправлено: gil9red от Январь 08, 2015, 01:17 gil9red, спорим, он твой код скопирует туда и будет удивляться эффекту :D я надеюсь, после копипасты кода и удивлению последует открытие книжки по с++ :) ;) Название: Re: Вызов функции из общего класса в делегате. Отправлено: Igors от Январь 08, 2015, 07:27 Код: MainClass *obj; Код И лучше вне тела ф-ции. Это означает что переменная obj объявлена в др месте, а здесь ее можно использовать. Нет такого "общий класс", может быть общая (глобальная) переменная этого класса. Ыыы.. Страуструпа в руки и читай .. Ну сами-то Вы его никогда не читали :)Название: Re: Вызов функции из общего класса в делегате. Отправлено: Bepec от Январь 08, 2015, 16:45 Даже с вашей добавкой приведённый код не заработает ) Нет обвязки, которая должна быть в другом месте, увы :)
PS я в отличие от вас думаю от "того что есть", а не "от того что я придумал и что может быть в его коде, который он нам не показал" :D Название: Re: Вызов функции из общего класса в делегате. Отправлено: nikolkoYY от Январь 11, 2015, 03:05 Может есть другие варианты решения данной загвоздки? ??? Может быть проще передать саму переменную в класс делегата? Спасибо! Название: Re: Вызов функции из общего класса в делегате. Отправлено: Igors от Январь 11, 2015, 10:49 Может быть проще передать саму переменную в класс делегата? Не вникая в отрывки Вашего текста, простой ответ "ну да, конечно". Только, строго говоря, сделать указатель на переменную членом делегата и передать в конструкторе. |