Ремонт: Ноутбуков, Компьютеров
https://vlab.su/

Delphi эксперты
https://vlab.su/viewtopic.php?f=292&t=106452
Страница 1 из 1

u666sa [ 01 сен 2020, 17:25 ]
Заголовок сообщения:  Delphi эксперты

Думаю что здесь этот вопрос ответится бысрей чем где либо. Я в Delphi вообще ноль, я уважаю С++Builder. Так вот, в одной из своих приватных разработок для анализа ставок на футбол я использую Almdev BusinessSkinForm (глупая идея смотря назад, но там уже 50 тыс линей кода позади). Проблема в том что в DX10.3 всё ок, грузю библиотеку с downloadly точка ir и всё ок устанавливается и работает. Но вот в DX10.4 не алё. Delphi компилятор даёт 58 ошибок E2064.

{Copy interlaced images with 1 byte for R, G, B}
procedure TbsPngLayerIDAT.CopyInterlacedRGB8(const Pass: Byte;
  Src, Dest, Trans, Extra: pChar);
var
  Col: Integer;
begin
  Col := ColumnStart[Pass];
  Dest := pChar(Longint(Dest) + Col * 3);
  repeat

    Dest^ := Char(fOwner.GammaTable[pByte(Longint(Src) + 2)^]); inc(Dest);  // здесь
    Dest^ := Char(fOwner.GammaTable[pByte(Longint(Src) + 1)^]); inc(Dest);  // и здесь я изменил код
    Byte(Dest^) := fOwner.GammaTable[pByte(Longint(Src)    )^]; inc(Dest);    // здесь оригенальный кож и ошибка

    inc(Src, 3);
    inc(Dest, ColumnIncrement[Pass] * 3 - 3);
    inc(Col, ColumnIncrement[Pass]);
  until Col >= ImageWidth;
end;



Так вот, код такой Byte(Dest^) равняется там чегота. Если убрать Byte() всё компилируется, но вот я в дельфи не алё так что я не знаю что я делаю. Ну так видно что оригенальный код хочет написать в адрес Dest один байт.

Помогите кто может.

Если надо оригенальный код, возьмите с downloadly точка ir у иранцев, искать надо BusinessSkinForm.

Ещё одна солюша это найти последнюю версию библиотеки, но я искал без результатно.

com77 [ 01 сен 2020, 18:01 ]
Заголовок сообщения:  Re: Delphi эксперты

u666sa писал(а):
бысрей... грузю.... там чегота... оригенальный код

:sh_ok: Не хера себе компот :-) ;;-)))
В коде по моему где-то запятая пропущена))

mia [ 01 сен 2020, 23:22 ]
Заголовок сообщения:  Re: Delphi эксперты

Project -> Options -> Compiler -> Assignable typed Constants.
https://ru.stackoverflow.com/questions/ ... -to/582899
https://bbs.csdn.net/topics/392514097?list=180084
http://bbs.2ccc.com/topic.asp?topicid=389969

vinservice [ 02 сен 2020, 00:32 ]
Заголовок сообщения:  Re: Delphi эксперты

u666sa писал(а):
в одной из своих приватных разработок для анализа ставок на футбол

А не лучше создать проект по решению и анализу траблы с вареньем :mi_ga_et:

u666sa [ 03 сен 2020, 11:21 ]
Заголовок сообщения:  Re: Delphi эксперты

mia писал(а):



Естественно я поробовал это перед тем как писать и спрашивать. Дело в том что проблема не в const а в Byte(Dest^).... Без Byte просто Dest^ = ошибок нету..

Я из C++ так понимаю этот код так, здесь по факту иницилизируется байт и потом к этому байту приписывается результат. А автор хотел припесать результат размером с байт к адресу дест. Но что то в языке изменилось за одну версию и теперь это не работает.

То что вы говорите про const это не то. Не в этом дело.

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/