Lazarus 1.6, обсудим изменения...

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Lazarus 1.6, обсудим изменения...

Сообщение zub » 25.04.2016 14:30:57

Значит проблема в дллной организации программы.
Я бы попробовал выкинув LazControl посмотреть будет ли Themes в зависимостях проблемного плагина? если нет, то явно в uses плагина указать Themes проблема возникнет снова? Поотлаживать - конкретезировать место и причину проблемы, может можно будет обойти небольшим патчиком.

В транк компилятора слили ветку с поддержкой пакетов. Я не пробовал, но может уже можно пробовать делать по правильному, на пакетах?
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: Lazarus 1.6, обсудим изменения...

Сообщение Sharfik » 25.04.2016 22:02:58

Приходит сын к отцу-программисту:
– Папа, а почему солнце всходит?
– Ты проверял?
– Да…
– Каждый день всходит?
– Да, и каждый день заходит…
– НИЧЕГО НЕ ТРОГАЙ!
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 760
Зарегистрирован: 20.07.2013 01:04:30

Re: Lazarus 1.6, обсудим изменения...

Сообщение zub » 25.04.2016 22:09:42

Соднце уже 1 раз не взошло какбы))
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: Lazarus 1.6, обсудим изменения...

Сообщение Sharfik » 26.04.2016 01:15:11

zub писал(а):Соднце уже 1 раз не взошло какбы))

Переделки даже в промышленных масштабах мало рентабельны, а в домашних программах тем более.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 760
Зарегистрирован: 20.07.2013 01:04:30

Re: Lazarus 1.6, обсудим изменения...

Сообщение kotompazb » 28.08.2016 05:01:10

Наконец-то решился попробовать перебраться с 1.4.4 на 1.6.
Проект к моей радости скомпилился после о-о-очень небольших правок.
Но счастье мое было недолгим. Сначала отказалась открывать одна из форм в самом Lazarus. После правки напильником она открылась, но вот в run-time попытка ее показать валит приложение с сообщением:
TControl.InvalidatePreferredSize loop detected TabSheet1:TTabSheet Bounds=l=0,t=0,r=392,b=593

При том, что та же форма скомпиленная на версии 1.4.4 ведет себя абсолютно адекватно.
По сообщению так понимаю, что где-то цикл привязок, пробовал их совсем по отключать - эффекта н0ль.
Может подскажите, ЧЯДНТ?

Странное дело. Начал было уже ваять другую форму с н0ля с целью перенести на нее функционал, а старую удалить. И тут оно внезапно просто заработало само собой. Чудеса...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 151
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR

Re: Lazarus 1.6, обсудим изменения...

Сообщение heX » 30.08.2016 15:46:48

"loop detected" происходил в run-time или в disign-time?
Я поставил на Lazarus плагин anchordockingdsgn и инногда "loop detected" вываливается и Lazarus падает - приходится файл *.lps удалять или уменьшить размер окна Lazarus и потом с "прилепленными" окнами шаманить.
(но тут претензий к Lazarus нет - плагин anchordockingdsgn и раньше был нестабильным)
heX
новенький
 
Сообщения: 12
Зарегистрирован: 19.02.2016 17:20:32

Re: Lazarus 1.6, обсудим изменения...

Сообщение kotompazb » 30.08.2016 22:10:45

Я оного (anchordockingdsgn) не ставил в этот раз. Ваще грешу на VirtualBox на самом деле, так как третью версию пробую именно там. Ибо глюк ваще странно поддается ловле.
heX писал(а):"loop detected" происходил в run-time или в disign-time?

Был сначала и в disign-time. Но это вылечилось. Теперь падает в ран-тайм только, НО... тут самое странное. Падает иногда, но периодами. То есть, если начало падать при отображении формы, то падает (на 1 и той же форме всегда). А потом через несколько часов, та же форма открывается спокойно, как ни в чем не бывало. Когда первый раз она вдруг снова начала нормально открываться, я обрадовался и дописал предыдущий пост. Но через несколько часов сменилась фаза луны и глюк вернулся. Через несколько часов пропал снова. Интереснее всего тот факт, что я пар этом с самой проблемной формой давно уже ничего не делаю, а она все продолжает работать периодами.
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 151
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR

Re: Lazarus 1.6, обсудим изменения...

Сообщение heX » 31.08.2016 09:41:55

kotompazb писал(а):Ваще грешу на VirtualBox... Падает иногда, но периодами.

VirtualBox тут вообще никак не должен влиять.
Я изначально подумал про неудачную комбинацию сохраняемых свойств (TPropStorage) и Align - но твоей форме ничего такого нету. Действительно странно...
heX
новенький
 
Сообщения: 12
Зарегистрирован: 19.02.2016 17:20:32

Re: Lazarus 1.6, обсудим изменения...

Сообщение kotompazb » 31.08.2016 16:27:17

heX писал(а):TPropStorage

не использую.
Align - да.
Я в итоге создал новую форму и перетаскиваю функционал на нее. Не нравятся мне глюки, которые я не могу отловить.

Добавлено спустя 10 часов 42 минуты 40 секунд:
Utf8ToSys теперь ничего не перекодирует, я правильно понял? То есть кодировка хранится в самой строке, и (неявная) перекодировка происходит при присваивании.
А как все-таки перекодировать строку. Если есть текст в UTF8, а мне надо его в 1251?
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 151
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR

Re: Lazarus 1.6, обсудим изменения...

Сообщение SSerge » 01.09.2016 05:37:41

[quote="kotompazb"]Если есть текст в UTF8, а мне надо его в 1251?

Если без хаков, то примерно так:
Код: Выделить всё
Type mycp1251string=AnsiString(1251);
Var s:mycp1251string;

....

s:=....
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Lazarus 1.6, обсудим изменения...

Сообщение kotompazb » 01.09.2016 06:12:37

SSerge писал(а):Если без хаков, то примерно

Спасибо. Попробуем.
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 151
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR

Re: Lazarus 1.6, обсудим изменения...

Сообщение and » 01.09.2016 21:19:47

kotompazb писал(а):А как все-таки перекодировать строку. Если есть текст в UTF8, а мне надо его в 1251?
SetCodePage(rawByteString(s),1251,true)
Аватара пользователя
and
постоялец
 
Сообщения: 124
Зарегистрирован: 16.09.2009 17:11:01
Откуда: г. Гомель, Беларусь

Re: Lazarus 1.6, обсудим изменения...

Сообщение kotompazb » 05.09.2016 08:22:47

Сделал так:
Код: Выделить всё
for i:=0 to Memo1.Lines.Count-1 do begin
   EncoderStr:=Memo1.Lines[i];
   SetCodePage(RawByteString(EncoderStr),1251,true);
   Text4Save.Add(EncoderStr);
end;

вместо
Код: Выделить всё
for i:=0 to Memo1.Lines.Count-1 do Text4Save.Add(Utf8ToSys(Memo1.Lines[i]))

Работает. Может можно упростить?
Аватара пользователя
kotompazb
постоялец
 
Сообщения: 151
Зарегистрирован: 21.06.2012 13:03:39
Откуда: Novosibirsk, xUSSR

Re: Lazarus 1.6, обсудим изменения...

Сообщение and » 05.09.2016 18:34:11

kotompazb писал(а):Может можно упростить?
Код: Выделить всё
encoderStr:=Memo1.text;
SetCodePage(rawByteString(encoderStr),1251,true);
Text4Save.text:=encoderStr;
С помощью SetCodePage перекодировать Lines[i] (или text) не получится: там var-параметр, свойство не подашь.
Аватара пользователя
and
постоялец
 
Сообщения: 124
Зарегистрирован: 16.09.2009 17:11:01
Откуда: г. Гомель, Беларусь

Re: Lazarus 1.6, обсудим изменения...

Сообщение alexs » 05.09.2016 23:03:02

А чем не устраивает функция UTF8ToAnsi?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google Adsense [Bot] и гости: 29

Рейтинг@Mail.ru