Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 8 9 10 [11] 12   вперед  Ctrl      все
 Re: Lazarus  [new]
ёёёёё
Member

Откуда:
Сообщений: 2017
makhaon
alikisay,

Delphi "загибается" уже больше 20ти лет. И еще, думаю, как минимум, будет столько "загибаться". Поэтому можешь спокойно на нем дальше и работать.
И, да, Лазарь и fpc собирается переводить строки дефолтно на такие же как в Делфи. По срокам не скажу.

Если не волнуют проблемы по дальнейшему трудоустройству в качестве программиста или не волнует проблема "где взять кадры" - можно и дельфи, и VFP и Clarion продолжать использовать.
ЗЫ: меня - не волнуют, дельфи наверняка меня переживет, просто скучно, много ограничений, "комьюнити" - одни старперы да маргиналы, нафталин с прошедшим сроком годности, короче.
29 дек 19, 15:10    [22051071]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3690
ёёёёё,

автор
ЗЫ: меня - не волнуют, дельфи наверняка меня переживет, просто скучно, много ограничений, "комьюнити" - одни старперы да маргиналы, нафталин с прошедшим сроком годности, короче.


Не волнуют. Скучать с работой вот ни разу не приходится :) Почти не дня. В проектах движухи выше крыши. Ограничения есть в каждом языке, иначе бы остался просто один для всего. Комьюнити может и старперы, зато всегда есть кого спросить и дождаться внятного ответа, впрочем неофитов хватает.
29 дек 19, 21:20    [22051202]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
fraks
Member

Откуда: Новосибирск
Сообщений: 1588
alikisay
Bali,
Лазарь все исходники сохраняет в кодировке UTF8. Delphi в кодировке по умолчанию системы.
Вообще походу Лазарь заточили на этот дебильный высер - UTF8 только для совместимости с linux. Возможно иного приемлимого решения не нашлось.
Всё это конечно крайне печально. Весь опыт работы со строками приходится переосмысливать, самописные библы выкидывать в мусорку.


А как связана кодировка исходника с работой со строками?
Разве нельзя работать с обычными строками при юникодном исходнике?
И наоборот - работать с юникодными строками при исходнике в ansi?
30 дек 19, 07:37    [22051287]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
rgreat
Member

Откуда:
Сообщений: 6009
fraks,

Когда весь rtl в utf8 а работать надо с utf16 кодинг превращается в фееричную и непрерывную генерацию подпорок.
30 дек 19, 11:50    [22051399]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
fraks
Member

Откуда: Новосибирск
Сообщений: 1588
rgreat

Когда весь rtl в utf8 а работать надо с utf16 кодинг превращается в фееричную и непрерывную генерацию подпорок.

И опять непонятно какая связь кодировки исходника .pas и работы rtl.
30 дек 19, 12:35    [22051434]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
rgreat
Member

Откуда:
Сообщений: 6009
fraks,

Тут каждый о своем. ;)
30 дек 19, 12:45    [22051447]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Док
Member

Откуда: Казань
Сообщений: 6693
Как это феерично, обсир@ть креветки только потому, что тебе не нравится их вкус

Сообщение было отредактировано: 30 дек 19, 16:18
30 дек 19, 16:18    [22051672]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
rgreat
Member

Откуда:
Сообщений: 6009
Какого буя в лазаре в TMemDataSet при попытке в записать в Field[x].AsDateTime:=Now; приводит к "Invalid floating point operation"?

Где Field.DataType = ftDateTime.

Если же попробовать = ftTimeStamp то выдает что такой тип ваще не поддеривается.

Нагуглил это: https://bugs.freepascal.org/view.php?id=28734

Пробую сделать подпорку:
DT:=Now;
Fields[i].SetData(@DT,True);

Fields[i].AsString выдает: 0-0-00 00:00:43

Или так:
DT:=Now*MSecsPerDay;
Fields[i].SetData(@DT,True);

Fields[i].AsString выдает:0-0-00 05:03:21

Передавать туда TTimeStamp тоже пробовал.

Что там за содомия с форматами даты?

Сообщение было отредактировано: 19 фев 20, 23:07
19 фев 20, 23:03    [22083388]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
rgreat
Member

Откуда:
Сообщений: 6009
Дорылся до вот этой мозговыносящей функции:

function TimeStampToMSecs(const TimeStamp: TTimeStamp): comp;
begin
  result := TimeStamp.Time + comp(timestamp.date)*msecsperday;
end ;   


Походу где-то в кишках используется она. Но она блин падает по Invalid floating point operation, если ей текущее время передать!

Что это за маразм?!
19 фев 20, 23:13    [22083394]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
V.Borzov
Member

Откуда: Саратов
Сообщений: 356
А TBufDataset не пробовали? Вроде, кажется поадекватнее. Я когда пытался выяснить для себя, что буду здесь использовать вместо TClientDataset, то пришел к выводу, что это оно, а вот TMemDataset вообще как-то не приглянулся.
19 фев 20, 23:16    [22083396]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
rgreat
Member

Откуда:
Сообщений: 6009
V.Borzov
А TBufDataset не пробовали?

Попробовал. Там свои тараканы. С блобами.

При добавлении поля типа блоб count у FieldDefs и Fields отличаются!

Сообщение было отредактировано: 19 фев 20, 23:38
19 фев 20, 23:30    [22083403]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
rgreat
Member

Откуда:
Сообщений: 6009
Хотя может это и чем-то еще проблема.
19 фев 20, 23:52    [22083411]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
rgreat
Member

Откуда:
Сообщений: 6009
Перешел на TBufDataset проблема пропала.

Проблема с разным кол-вом полей оказалась в том что ни Close ни CreateDataset ни изменение FieldDefs не сбрасывает Fields.

Пришлось принудительно делать сброс Fields.Clear во время переиницализации датасета.

Странно это все...
20 фев 20, 01:33    [22083431]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Док
Member

Откуда: Казань
Сообщений: 6693
rgreat
Странно это все...

так пиши в трекер, вход и рега свободные. Заодно доброе дело сделаешь :)

пыс. посмотри, ради интереса, Логуновский TRxMemDataset.

Сообщение было отредактировано: 20 фев 20, 19:20
20 фев 20, 19:20    [22084146]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
MaratIsk
Member

Откуда: Almaty, Kazakhstan
Сообщений: 2526
Док
rgreat
Странно это все...

так пиши в трекер, вход и рега свободные. Заодно доброе дело сделаешь :)

пыс. посмотри, ради интереса, Логуновский TRxMemDataset.


причем компилируется и работает и в линукс и в макос
21 фев 20, 10:03    [22084354]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Док
Member

Откуда: Казань
Сообщений: 6693
Док
пыс. посмотри, ради интереса, Логуновский TRxMemDataset.

procedure TForm1.FormShow(Sender: TObject);
var
  i: Integer;
begin
  with RxMemoryData1 do
  begin
    FieldDefs.Add('nn_fld', ftInteger);
    FieldDefs.Add('datetime_fld', ftDateTime);
    FieldDefs.Add('time_fld', ftTime);

    Active:= True;

    for i:= 0 to 10 do
    begin
      AppendRecord([i,now,now]);
      Sleep(100);
    end;

  end;
end; 


К сообщению приложен файл. Размер - 19Kb
22 фев 20, 02:13    [22084997]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Док
Member

Откуда: Казань
Сообщений: 6693
Вышел очередной минорный релиз Лазаря 2.0.8 (список багофиксов)
16 апр 20, 13:02    [22117427]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
Дженерики в FPC стали ещё круче, теперь их можно специализировать константными значениями.
type
  generic TStaticArray<T; const N: Integer> = array[0..N-1] of T;

generic function TimesX<const N: Integer>(aArg: Integer): Integer;
begin
  Result := aArg * N;
end;

var
  myArray: specialize TStaticArray<LongInt, 2>;
  i: LongInt;
begin
  i := specialize TimesX<2>(21);
end.
28 апр 20, 02:03    [22123915]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
Тем, у кого высоконагруженные приложения на FPC: New Multi-thread Friendly Memory Manager for FPC written in x86_64 assembly
8 май 20, 12:01    [22129225]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
pvv.pas
Member

Откуда: Оттуда
Сообщений: 37
Kazantsev Alexey,

Недавно был неприятно удивлён что дженерики фрипаскаля кое в чём уступают всё таки делфёвым, порылся нашёл тикет на их багтрекере который висит с 14-го года
9 май 20, 11:44    [22129809]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
pvv.pas,

Да, недоделок там хватает, к сожалению.
9 май 20, 15:41    [22129881]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Док
Member

Откуда: Казань
Сообщений: 6693
pvv.pas
Kazantsev Alexey,

Недавно был неприятно удивлён что дженерики фрипаскаля кое в чём уступают всё таки делфёвым, порылся нашёл тикет на их багтрекере который висит с 14-го года


Как любит говорить тамошний админ Мартин, "patches will be accepted" :) Бери и делай, на худой конец хотя бы тикет создай. В отличие от Дельфей, патчи мерджят при первой возможности и обоюдном согласии всех сторон.

По поводу дженериков, основной разраб Maciej Izak два года назад ушел из основной команды разработчиков (там был большой разбор полетов). С ними ли он теперь, я не в курсе. Но, судя по сорцам на гитхабе, движуха в плане их дальнейшего развития все-таки есть. Попробуй сравнить/заменить сорцы компилятора и пересобрать его, если они отличаются.
10 май 20, 00:40    [22130032]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Док
Member

Откуда: Казань
Сообщений: 6693
Kazantsev Alexey
Тем, у кого высоконагруженные приложения на FPC: New Multi-thread Friendly Memory Manager for FPC written in x86_64 assembly

"У посла -медальон, у Шпака..." У Макоси lldb, у винды с линухом - мормот. Каждой сестре по серьге
10 май 20, 00:43    [22130034]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 4469
Док
По поводу дженериков, основной разраб Maciej Izak два года назад ушел из основной команды разработчиков

Док, а с чего ты взял, что он основной разраб дженериков? От того, что он запилил дельфи-компатибл коллекции и попутно фиксил баги в компиляторе? Насколько я понимаю, дженериками в компиляторе занимался совсем другой человек.
10 май 20, 01:22    [22130041]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus  [new]
Док
Member

Откуда: Казань
Сообщений: 6693
Kazantsev Alexey
Док, а с чего ты взял, что он основной разраб дженериков?

хм, очень может быть. А на чем основаны твои предположения?
10 май 20, 01:55    [22130042]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 3 4 5 6 7 8 9 10 [11] 12   вперед  Ctrl      все
Все форумы / Delphi Ответить