QScintilla, Подробнее |
Здравствуйте, гость ( Вход | Регистрация )
QScintilla, Подробнее |
void* |
25.2.2009, 22:33
Сообщение
#11
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
ты привязал api к QsciScintilla??? Я так понял, api это переменаня типа QsciAbstractAPIs?? да, api - объект класса QsciAPIs. QsciAPIs - это класс, содержащий информацию для автокомплита, почитай внимательнее документацию по этому классу. Достаточно иметь только один объект этого класса, т.к. он shared. Нужно просто загрузить в него инфу из файлов и сделать QsciAPIs::prepare(), и для каждого используемого лексера установить эти API с помощью QsciLexer::setAPIs(). П.С. Цитата(official documentation) The QsciAPIs class represents the textual API information used in call tips and for auto-completion. API information is specific to a particular language lexer but can be shared by multiple instances of the lexer.
Raw API information is read from one or more files. Each API function is described by a single line of text comprising the function's name, followed by the function's optional comma separated parameters enclosed in parenthesis, and finally followed by optional explanatory text. A function name may be followed by a `?' and a number. The number is used by auto-completion to display a registered QPixmap with the function name. All function names are used by auto-completion, but only those that include function parameters are used in call tips. QScintilla only deals with prepared API information and not the raw information described above. This is done so that large APIs can be handled while still being responsive to user input. The conversion of raw information to prepared information is time consuming (think tens of seconds) and implemented in a separate thread. Processed information can be quickly saved to and loaded from files. Such files are portable between different architectures. QScintilla based applications that want to support large APIs would normally provide the user with the ability to specify a set of, possibly project specific, raw API files and convert them to prepared files that are loaded quickly when the application is invoked. |
|
|
edwardoid |
26.2.2009, 13:57
Сообщение
#12
|
Участник Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: 0 |
скомпилилось, но выдает ошибку Segmentation Fault:
Структура файлов вроде нормальная, в папке с прогой папка "apis" где файлы скаченные у тебя: c.api и cpp.api. Но скотина все равно ругаеццо... |
|
|
void* |
26.2.2009, 15:28
Сообщение
#13
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
у тебя SDI или MDI-приложение? Если MDI, то придется пойти на некоторый изврат, т.к. существует одна проблемка. Если же SDI - то все должно работать нормально, приведи лучше тогда код и строчку где именно вылетает.
|
|
|
edwardoid |
26.2.2009, 16:53
Сообщение
#14
|
Участник Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: 0 |
приложение MDI
qDebug выдает: . .. c.api -------------------------------- Ошибка возникает в теле foreach |
|
|
void* |
26.2.2009, 18:15
Сообщение
#15
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
хм... вроде все правильно. Попробуй еще так:
|
|
|
edwardoid |
26.2.2009, 18:48
Сообщение
#16
|
Участник Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: 0 |
один хрен. только на аутпуте:
c.api |
|
|
void* |
26.2.2009, 20:25
Сообщение
#17
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
Тогда у меня варианты закончились. Попробуй определить конкретно строчку на которой прога падает, может что-нибудь еще станет понятнее
|
|
|
edwardoid |
26.2.2009, 23:18
Сообщение
#18
|
Участник Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: 0 |
вся проблемя в этой строке:
|
|
|
void* |
27.2.2009, 1:03
Сообщение
#19
|
Программист-самоучка Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: 3 |
замени:
на
и посмотри что выведет. |
|
|
edwardoid |
27.2.2009, 12:49
Сообщение
#20
|
Участник Группа: Участник Сообщений: 171 Регистрация: 1.5.2008 Из: Ереван, Армения Пользователь №: 164 Спасибо сказали: 0 раз(а) Репутация: 0 |
непонятно... он даже не скомпилился...
Компилил KDevelop+gcc ----------------- cd '/home/edward/Shushi' && LC_MESSAGES="C" LC_CTYPE="C" make -k compiling eedit.cpp (g++) eedit.cpp:147: error: invalid use of incomplete type 'struct QDebug' /usr/include/qt4/QtCore/qglobal.h:1403: error: forward declaration of 'struct QDebug' /usr/include/qt4/QtCore/qglobal.h:1406: warning: inline function 'QDebug qDebug()' used but never defined *** Exited with status: 2 *** ----------------- |
|
|
Текстовая версия | Сейчас: 14.11.2024, 7:07 |