Galkov писал(а):
nesco, ты кажется тоже где-то дельфячий WideCharToString юзал...Этот топик читают: Гость
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Да не припомню, что-то. У меня не было ситуаций с применением WideChar'ов (если только WMI, но там автоматом перекодируется). |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Кажется фиговина, которая читает и масштабирует картинки всех форматов.
По мотивам кода от tsdima - не фига оно под FPC русских имен файлов не понимало, Ведмедь.jpg как живой перед глазами стоит.... |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Galkov писал(а): Ведмедь.jpg как живой перед глазами стоит.... |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
nesco писал(а): А код от tsdima, в последней редакции, под FPC компилится отказался, начистоЯкий же ты Лыцарь, колы голой сракой ежа не вбъешь |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Galkov, так то ж IC, а не компонент, это так -- этюд на тему
|
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
А известно ли тебе, что у нас элемент PictureStream глюковатый маленько под FPC
Он просит dll-ку которая сделана дельфёй, и которая создает объекты, уничтожаемые уже под FPC - забава для мазохистов, кстати говоря Если плюнуть на сохранение, то этот "этюд" гораздо более компактная и функциональная замена сему безобразию, имхо В принципе, несколько другой интерфейс нужен: элемент не создает новый bmp, а отрисовывает уже на имеющемся По теории, даже с учетом прозрачности из ICO, и альфа-канала из PNG. Ну подумать над св-м, как масштабировать.... В общем, мнение у меня такое, что это дело можно и нужно довести до товарного вида В прочем и коды данного поста тоже можно..... Если там еще "страховки" на BufLen<=1 ввести в UTF8ToStr... Может и целевую локаль, символ-заменитель - свойствами сделать как-то... |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Galkov писал(а): В принципе, несколько другой интерфейс нужен: элемент не создает новый bmp, а отрисовывает уже на имеющемся------------ Дoбавленo: nesco писал(а): По теории, даже с учетом прозрачности из ICO, и альфа-канала из PNG |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
nesco писал(а): Ну а это -- ???, как у нас отображатьТы пробовал в своем "этюде" рисовать этот PNG или ICO не в новом контексте (если тебе это слово больше нравится), а в том, на котором уже чего-то нарисовано предварительно |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Galkov писал(а): не в новом контексте (если тебе это слово больше нравится)А так нет, не пробовал, но попробуем -- это мелочи. Лучше глянь на код, и скажи в чем проблема под FPC
FPC писал(а): Build start...
Generated code Create project... Command line: fpc.exe '"D:\Program Files\HiAsm_b167\Elements\delphi\code\Project4.pas"' -Sd -Mdelphi '"-FED:\Program Files\HiAsm_b167\"' '"-FUD:\Program Files\HiAsm_b167\Elements\delphi\code\\units"' -FDtools\ -dF_P Free Pascal Compiler version 1.9.6 [2004/12/31] for i386 Copyright (c) 1993-2004 by Florian Klaempfl Target OS: Win32 for i386 Compiling D:\Program Files\HiAsm_b167\Elements\delphi\code\Project4.pas Compiling D:\Program Files\HiAsm_b167\Elements\delphi\code\Share.pas Compiling D:\Program Files\HiAsm_b167\Elements\delphi\code\Debug.pas Compiling D:\Program Files\HiAsm_b167\Elements\delphi\code\hiInlineCode_8DAF62C.pas Compiling resource D:\Program Files\HiAsm_b167\Elements\delphi\code\allres.res Linking D:\Program Files\HiAsm_b167\Project4.exe Project4.pas(81,1) Error: Error while linking Closing script D:\Program Files\HiAsm_b167\ppas.bat Error: D:\Program Files\HiAsm_b167\compiler\fpc\ppc386.exe returned an error exitcode (normal if you did not specifiy a source file to be compiled) D:\Program Files\HiAsm_b167\Elements\delphi\code\\units\KOLComObj.o(.data+0x2ce):KOLComObj.pas: undefined reference to `VTBL_KOLCOMOBJ_TCOMOBJECTFACTORY_$_ICLASSFACTORY' |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Да нет у меня такой проблемы:
Build start...
Generated code Create project... Command line: fpc.exe '"D:\HiAsm\Elements\delphi\code\Project7.dpr"' -Sd '"-FED:\HiAsm\"' '"-FUD:\HiAsm\Elements\delphi\code\units"' -FDtools\ -CX -dF_P -dSUPER_PARENT Free Pascal Compiler version 1.9.6 [2004/12/31] for i386 Copyright (c) 1993-2004 by Florian Klaempfl Target OS: Win32 for i386 Compiling D:\HiAsm\Elements\delphi\code\Project7.dpr Compiling D:\HiAsm\Elements\delphi\code\Share.pas Compiling D:\HiAsm\Elements\delphi\code\Debug.pas Compiling D:\HiAsm\Elements\delphi\code\hiInlineCode_4E14510.pas Compiling resource D:\HiAsm\Elements\delphi\code\allres.res Linking D:\HiAsm\Project7.exe 2249 Lines compiled, 1.2 sec End build На KOLComObj перед этим ругался, конечно - всякими нехорошими словами... Но только warning Естественно ------------ Дoбавленo: Здорово смахивает на откомпилированный предварительно кривой исходник KOLComObj Если после такого "восстановить" исходник методом копирования резервной копии, то FPC его компилировать не будет Потому-что у него дата -- раньше даты соответствующего O-файла Искусственный интеллект - это тебе не баб щупать Я эту фигню как-то челу на нашем форуме постов 10 пытался втолковать. Не фига не вышло, между прочим - покинул он нас расстроенный и обиженный |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Galkov, посыпаю голову пеплом . Мой косяк, у меня оказался фуфловый FPC, переустановил -- работает. Вопрос на засыпку, чего значит у FPC ключ -- -dSUPER_PARENT
|
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
define
используется в hiMainForm.Pas ------------ Дoбавленo: Ты лучше скажи, дошло ли до тебя содержание сего ИИ Это важно. Как собственно и то, что любое Знание, это нечто большее, чем просто информация... Я бы не спрашивал, если бы не имел живых примеров "не проходимости" сего высокого знания Да и в случае понимания, ответ: "прочистил папку units" -- звучал бы более естественно... |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Да дощло до меня, но я решил, все же, заменить компилятор FPC, он у меня с самых первых версий HiAsm'a.
Поюзал код и обнаружил, что русские символы не читаются под FPC у нас в пакете, а точнее -- вот эта строчка
------------ Дoбавленo: Попробовал
Под Delphi строка нормальная. |
|||
карма: 22 |
|
Ответов: 9906
Рейтинг: 351
|
|||
nesco писал(а): Тут надо кодировки смотреть в ShareПричем здесь share Вот это:
Надо смотреть не share, тип для wName -- это wideString Поэтому ставятся неявные преобразователи типов При этом в Дельфях используется 3-я локаль (локаль текущего потока), а какая в FPC - не разбирался (ну их нафиг) Случай типовой - ключница водку делала В таких случаях я просто "инлайнил" Дельфячий код, после этого оно начинает работать одинаково. Так я поступил в Random, и в примере из Этого топика (внимание возвращаемся к нашим баранам ) У меня правда (как уже сейчас вижу) наоборот было: из юникода ansi вытаскивался... Но смысл тот же: читай MSDN про MultiByteToWideChar (у меня был WideCharToMultiByte) и юзай его с 3-й локалью Я же не просто так в этом топике про твои заморочки вспомнил... |
|||
карма: 9 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
Насчет Share, то явно сдурил и не заметил, что переменная WideString.
Вот лучше глянь код преобразования в WideString
------------ Дoбавленo: Вот..., лишний апостроф появился. Но нифига оно не работает с codepage=3 |
|||
карма: 22 |
|