Logo писал(а):Linux, Lazarus rev. 16525 Widgetsets - QT Перепробовал все, что мог, с надежой, что что-то у меня не так, но ошибка осталась. AutoComleteText = True, при наборе латинских символов - RunError(233), при наборе кирилицы - не дополняет.
У меня работает. Скрин прилагается.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
function repeat_indent(const Line: string; const chars: TChars): string; var i, Len: Integer; begin Len := Length(Line); for i := 1 to Len-1 do begin if not (Line[i] in chars) then begin Result := copy(Line, 1, i-1); Exit; end; // if end; // for i Result := Line; end;
procedure TFMain.SynEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = 13) {VK_RETURN, всё забываю какой юнит нужно подключать} and (ssShift in Shift) then begin (Sender as TSynEdit).SelText := #13 + repeat_indent((Sender as TSynEdit).LineText, RepeatChars); end; // if end;
Павел Ишенин писал(а):У меня работает. Скрин прилагается.
Ничего не понимаю
ComboLat.jpg
ComboCyr.jpg
Ладно позже протрассирую... Пока с DB работаю. Интересно, что с этими компонентами делать? Их баги точно, что с fpc. Рапортовать в багтрекер? - Поправят только в 2.3.1, а работать нужно сейчас. Делать заплатку для fpc 2.2.2? Или переписать отдельно для Lazarus и забыть про зависимость от fpc?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
shade писал(а):Обновился, проблемы с созданием OnCreate и CustApp больше нет
Хм.. нет всё-таки осталось, странно вроде сразу после пересборки работало, щас опять ни в какую
Извиняюсь, но в чем конкретно проблема? Я кажется не в теме.
Добавлено спустя 2 часа 13 минут 11 секунд:
Logo писал(а):
Павел Ишенин писал(а):У меня работает. Скрин прилагается.
Ничего не понимаю
А... так проблема в Qt под Linux. Есть такая проблема. Поправил немного обработку нажатий на клавиатуру. Теперь английский текст срабатывает. Проблема в других раскладках. Проблема в следующем: 1. В KeyUp, KeyDown передается виртуальный код клавиши. Например при нажатии на кнопку 'A' (eng) передается код VK_A. При нажатии на 'Ф' (rus) тоже должно передаваться VK_A (так как кнопка на клаве одна и также) 2. Обработчик нажатия кнопки в Qt обладает следующей информацией: a) Key - код кнопки (некоторые коды зарезервированы, некоторые соответствуют USC2) b) Text - текстовая строка WideString с символом который нажали c) nativeScanCode - скан код кнопки d) nativeVirtualKey - виртуальный код кнопки 3. Из того что имеем нам надо сформировать VK_ код для передачи в KeyUp, KeyDown. Key, Text - не могут помочь с национальными символами (мы не знаем какая раскладка клавиатуры). ScanCode - тоже не поможет. nativeVirtualKey = VK_ под Windows, но под linux, mac osx и др. virtualKey отличается от того что в Windows. Задача: написать код для формирования VK_ из nativeVirtualKey для всех поддерживаемых ОС.
Как задача будет решена, так AutoComplete заработает и KeyUp, KeyDown будут отрабатывать при любой раскладке.
shade писал(а):Обновился, проблемы с созданием OnCreate и CustApp больше нет
Хм.. нет всё-таки осталось, странно вроде сразу после пересборки работало, щас опять ни в какую
Извиняюсь, но в чем конкретно проблема? Я кажется не в теме.
viewtopic.php?p=26673#p26673 Воспроизводиться не всегда. При первом запуске после пересборки отлично создает обработчик OnCreate... Но потом, видимо с последующих запусков, начинает ругаться, мол не может найти юнит CustApp. Если его в uses закомментировать, то создает, (но, естественно, перестает работать автокомплит для объекта Application).
shade писал(а):Воспроизводиться не всегда. При первом запуске после пересборки отлично создает обработчик OnCreate...
Смотрите у себя. Видимо не указаны пути к исходникам fpc или в исходниках fpc нет CustApp или ... Проблема только в том, что IDE не может найти ваш CustApp и все.
alexs писал(а):Не компилится с последним fpc 2.3.1 - propedits.pp объявление массива PropClassMap:array[TypInfo.TTypeKind] of TPropertyEditorClass=(
всё дело в том, что в тип TTypeKind из модуля TypInfo добавили ещё 3 элемента пока я просто в коней добавил 3 пустых укахателя - nil.
Lazarus выпускается всегда только для fpc release версий. В данном случае lazarus 0.9.26 будет выпущен для работы с fpc 2.2.2. Как пыль осядет после добавления unicodestring в fpc мы начнем адаптировать свой код. Пока суетиться рано.
Павел Ишенин писал(а):Смотрите у себя. Видимо не указаны пути к исходникам fpc или в исходниках fpc нет CustApp или ... Проблема только в том, что IDE не может найти ваш CustApp и все.
Ну вот мне и интересно, почему IDE не может найти мой CustApp, ведь он лежит всё время на месте, пути к исходникам lazarus, fpc, путь к ppc386 прописаны правильно. Например, Classes, SysUtils, FileUtils он находит, а CustApp, как впрочем и некоторые (возможно все) юниты из fcl-base он найти не может... Может где-то ещё нужно что-то прописать?.. я не вижу
alexs писал(а):привычка значит буду каждый раз патчик туда совать перед компияцией.
Так, вроде, если по svn обновляешся, то внесенные локальные изменения не перекрываются. Только в случае, если изменение на сервере затрагивает тот же участок кода, что был изменен на локале вносится оба с возможностью ручного выбора.
Во, кажется нашел условия при которых баг проявляется бесперебойно. Проблема проявляется только тогда, когда я запускаю лазарус через ярлык на рабочем столе. 1. Если я его запускаю из командной строки, то проблема не проявляется. 2. Когда "рабочий путь" в ярлыке не указан или указан на другой каталог, проблема проявляется. 3. Когда "рабочий путь" в ярлыке указывает на каталог с исходниками Lazarus, то всё работает.
Можно ли сделать чтобы работало всегда? вне зависимости от того, с каким текущим каталогом запущен Lazarus ?
В общем такая ситуация (наверное в результате получится плохое объяснение, но всёж опишу) Итак, решил прогу портить под вин, написанную на лазаре Под ubuntu (gtk2, UTF8, Lazarus SVN) проблем не было... НИКАКИХ Так вот, первое, с чем столкнулся - если в пути к программе содержит кирилицу, то ничего не работает, докуривал долго, но всёж ))) Потом начались танцы, откомпилилась нормально, появилась такая формачка, ну, думаю УРЯ, пытаюсь загрузить файл с настройками... (tinifile если точно класс называется), он не может открыть файл, ну думаю, дело в кодировке, меняю в файле всё на cp1251, повторяю опыт, тоже... Покурив решил все настройки вбить вручную, какие наши годы, вбил, там правда немного, проблема только в том, что сохраняться файл отказался сообщив (невозможно создать файл на забугорском языке), ну думаю пипец, надо подождать релиза и решил выйти из программы... Не тут то было, появилось красивое окошечко с надписью "ошибка куча кодов, видимо кирилица, и номер строчки, причём строчка явно левая, на нажатие на ОК он смещает написи на пяток строчек, пока не закончатся все строчки..." Подумав "дебагер шалит" решил стрипнуть, после этого всё повторилось... Ну с горя зажал на ЕНТЕР... После того, как программа действительно закрылась фокус перешёл к окну эксплорера в котором был выделен бинарник программы... Открывшие 14 копий программы я "выключал" уже после загрытия окна эксплорера... К базе данных даже на стадии "инициализации" выдал что-то странное вроде \1002\1005... Впрочем клиент не стоял, поэтому подключиться шансов и вправду было очень мало... ЗЫ Очень бы хотелось, чтобы данные проблемы не привели к раку лёгких... ЗЫ2 Никого не хотелось обидеть, сам понимаю, что борьба с cp1251 против воли системы довольно сложная проблема...