Вверх ↑
Этот топик читают: Гость
Ответов: 413
Рейтинг: 57
#631: 2023-04-11 22:57:04 ЛС | профиль | цитата
Доброе время суток!
Обнаружил, что компонент DropFile (приём сброшенных файлов на форму) не работает ни с Delphi, ни с FPC (FPC-32). С точки onDropFile ничего не выдаётся. В стандартной версии HiAsm работает.
карма: 0

0
Ответов: 245
Рейтинг: 4
#632: 2023-04-12 12:57:15 ЛС | профиль | цитата
Наверное не тот компонент в использовании.
у меня работает нормально.

Add(MainForm,2953706,161,119)
{
Name="drop"
link(onCreate,8084624:doListen,[])
}
Add(DropFileManager,8084624,238,133)
{
ControlManager="drop"
link(onDrop,1013064:doMessage,[])
}
Add(Message,1013064,315,133)
{
}

карма: 1

0
Ответов: 4621
Рейтинг: 746
#633: 2023-04-12 20:17:38 ЛС | профиль | цитата
Проверил DropFile - работает. А ты всё правильно установил? Из текущего архива?
карма: 26

0
Ответов: 413
Рейтинг: 57
#634: 2023-04-12 21:56:36 ЛС | профиль | цитата
Из текущего архива?

Да. FPC 3.2.2 rev 1 for HiAsm (Unicode) upd 2022-11-27. Операционная Windows 7.
Попробую переустановить, может что-то криво стало.

P.s. Нет, не помогло.
DropFile Manager тоже ничего не выдаёт. Буду хотя бы знать, что у других работает. Спасибо.

Сам Hiasm тоже не хочет принимать ini файлы компонентов, это у меня что-то не так. Может антивирус блокирует. Буду разбираться.

Редактировалось 3 раз(а), последний 2023-04-12 22:58:56
карма: 0

0
Ответов: 1263
Рейтинг: 47
#635: 2023-04-12 23:44:06 ЛС | профиль | цитата
Подтверждаю, у меня тоже с ним стандартный пример из справки не работает. Win10, на форме вместо + возникает кружок запрета.

Редактировалось 1 раз(а), последний 2023-04-12 23:45:28
карма: 3
Hiasm + Flowstone + CopperCube + GoDot + JS
0
Ответов: 4621
Рейтинг: 746
#636: 2023-04-13 20:52:45 ЛС | профиль | цитата
Poputchik писал(а):
Сам Hiasm тоже не хочет принимать ini файлы компонентов
Либо русские буквы в пути к папке, либо отсутствие прав на запись в папку.
Aziz писал(а):
Win10, на форме вместо + возникает кружок запрета.
Ну, я проверил на XP. А из официального Hiasm на той же системе работает?

Windows 10

Редактировалось 4 раз(а), последний 2023-04-14 17:56:34
карма: 26

0
Ответов: 413
Рейтинг: 57
#637: 2023-04-13 22:03:00 ЛС | профиль | цитата
Netspirit, Русских букв нет. Перемещённый Hiasm на другой диск (не системный), ничего не изменил. А официальный Hiasm, установленная давно и не на системный диск, ini файлы принимает, скомпилированные программы принимают брошенные на них файлы, но там другие проблемы. Установил заново официальный Hiasm, тоже не принимает. Грешу на антивирусник, просто отключение антивирусника не помогает.

Редактировалось 4 раз(а), последний 2023-04-13 22:09:05
карма: 0

0
Ответов: 29
Рейтинг: 0
#638: 2023-06-05 20:35:14 ЛС | профиль | цитата
Народ, у кого-нибудь в загашнике не завалился компилятор предыдущих версий. В наличии есть 3.2.2 и 3.0.4, интересуют более ранние.
карма: 0

0
Ответов: 8886
Рейтинг: 823
#639: 2023-06-05 20:49:38 ЛС | профиль | цитата
ez7pac, от 158 версии HiAsm устроит? (4.5 Мб)
https://disk.yandex.ru/d/u4UsiRwsduv82A
карма: 19

0
Ответов: 29
Рейтинг: 0
#640: 2023-06-05 21:08:01 ЛС | профиль | цитата
Леонид, спасибо, но боюсь, что это не то. Я вот этот комплект имел в виду, это самый ранний из имеющихся у меня - 3.0.4. Но тема называется "Компилятор FPC 2.6.0", значит были и предыдущие.
карма: 0

0
Ответов: 4621
Рейтинг: 746
#641: 2023-06-08 13:11:54 ЛС | профиль | цитата
http://depositfiles.com/files/687asy1mc

FPC 2.6.0 Compiler Setup rev 1.exe
FPC 2.6.0 Compiler Setup rev 2.exe
FPC 2.6.0 Compiler Setup rev 3.exe
FPC 2.6.2 rev 4.rar
FPC 2.6.4 rev 5.rar
FPC 2.6.4 rev 6.rar
FPC 3.0.0 rev 1 for HiAsm.rar
FPC 3.0.0 rev 2 for HiAsm.rar
FPC 3.0.4 rev 1 for HiAsm.rar
FPC 3.0.4 rev 2 for HiAsm (Unicode).rar

карма: 26

1
Голосовали:ez7pac
Ответов: 12
Рейтинг: 0
#642: 2023-09-01 17:06:32 ЛС | профиль | цитата
Добрый день.
Подскажите кто-нибудь это только у меня не работает перекодировка при компиляции в юникод режиме или это проблема компонента Charset.
Спасибо
Пример


Add(MainForm,2953706,21,105)
{
Width=654
Height=177
link(onCreate,16406789:doWork1,[(144,125)])
}
Add(Charset,11244778,175,147)
{
Type=8
Point(doCharset)
Point(onError)
link(onCharset,9542030:doText,[])
link(Text,3664310:Text,[])
link(CodePage1,12772419:Text,[(188,94)(230,94)])
link(CodePage2,11727262:Text,[(195,114)(279,114)])
}
Add(Edit,3664310,175,35)
{
Left=25
Top=35
Width=595
Text="Другие материалы"
}
Add(Button,3948234,84,147)
{
Left=165
Top=5
link(onClick,16406789:doWork2,[])
}
Add(Label,9542030,231,147)
{
Left=30
Top=65
Width=590
AutoSize=1
link(onClick,1205846:doSetText,[])
}
Add(ClipboardHook,1205846,294,147)
{
}
Add(HubEx,16406789,140,147)
{
link(onEvent,11244778:doCharset,[])
}
Add(Edit,12772419,224,35)
{
Left=85
Top=5
Width=60
Text="65001"
DataType=2
}
Add(Edit,11727262,273,35)
{
Left=240
Top=5
Text="1251"
DataType=2
}
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 4621
Рейтинг: 746
#643: 2023-09-01 22:31:47 ЛС | профиль | цитата
Для того, чтобы из одной не родной для компилятора (в данном случае, 1..4-байтовой UTF-8 65001) кодировки преобразовать во 2-ю не родную (1251), нужно сначала из кодировки компилятора UTF-16 (в которой она находится в поле ввода) преобразовать в эту 1-ю неродную кодировку. А раз 2-я кодировка не является родной, то чтобы отобразить её в Юникодном окне - её надо преобразовать в 3-й раз в родную для компилятора UTF-16 (1200).

Поэтому в Unicode-режиме в исходной схеме потребуется 3-ное преобразование: из 2-байтной UTF-16 в 1-байтовую, которая будет выдана конвертером как "бинарная строка" (читать моё объяснение в архиве с пакетом) и будет подразумеваться в кодировке 65001. Затем из неё можно получить 2-ю неродную кодировку (1251), которая тоже будет выдана как "бинарная строка". И уже с этой 2-й неродной кодировки преобразовать в родную UTF-16 (1200).

Но если нет необходимости как-то дополнительно использовать кодировку 1251 (а в исходной UTF-8 могли быть символы из других языков - они будут потеряны при преобразовании в 1251), то можно обойтись 2-мя преобразованиями - сразу в кодировку компилятора:


Add(MainForm,10727861,231,231)
{
Width=654
Height=177
link(onCreate,16406789:doWork1,[(354,251)])
}
Add(Charset,11244778,476,273)
{
Type=7
Point(doCharset)
Point(onError)
link(onCharset,4837426:doEvent1,[])
}
Add(Edit,3664310,420,133)
{
Left=25
Top=35
Width=595
Text="Другие материалы"
}
Add(Button,3948234,294,273)
{
Left=165
Top=5
link(onClick,16406789:doWork2,[])
}
Add(Label,9542030,819,238)
{
Left=30
Top=65
Width=590
AutoSize=1
}
Add(ClipboardHook,1205846,819,280)
{
}
Add(HubEx,16406789,350,273)
{
link(onEvent,7428293:doCharset,[])
}
Add(Edit,12772419,630,112)
{
Left=85
Top=5
Width=60
Text="65001"
DataType=2
}
Add(Edit,11727262,672,112)
{
Left=240
Top=5
Text="1251"
DataType=2
}
Add(Charset,7428293,420,273)
{
Type=14
Point(onError)
Point(doCharset)
link(onCharset,11244778:doCharset,[])
link(Text,7122144:Var2,[])
}
Add(Charset,533901,623,210)
{
Type=8
Point(doCharset)
Point(onError)
link(onCharset,7457542:doCharset,[])
link(CodePage1,12772419:Text,[])
link(CodePage2,8084626:Var2,[(643,175)(678,175)])
}
Add(Charset,5678264,567,210)
{
Type=14
Point(doCharset)
Point(onError)
link(onCharset,533901:doCharset,[])
link(Text,7122144:Var3,[(573,180)])
}
Add(GetDataEx,7122144,420,175)
{
link(Data,3664310:Text,[])
}
Add(Hub,4837426,749,273)
{
link(onEvent1,9542030:doText,[(791,279)(791,244)])
link(onEvent2,1205846:doSetText,[])
}
Add(Charset,7457542,679,210)
{
Type=8
CodePage2=1200
Point(doCharset)
Point(onError)
link(CodePage1,8084626:Var3,[(692,159)])
AddHint(35,-25,39,13,CodePage2)
}
Add(GetDataEx,8084626,672,154)
{
link(Data,11727262:Text,[])
}
Для ANSI компилятора в схеме будут такие нюансы:
1) в 3-этапной схеме преобразования 1-е преобразование "Str->ANSI" ничего не будет делать, так как Str=ANSI в этом случае, а 3-е преобразование нужно выкинуть.
2) в 2-этапном (правильном) варианте в схеме ничего менять не нужно. 1-е преобразование ничего не будет делать по той же причине, а во 2-м "UTF-8->Str" Str будет равно ANSI (кодировке компилятора).
3) на Windows с "кодировкой по-умолчанию для программ, не поддерживающих Юникод" равной 1251 преобразование из UTF-8 в ANSI будет приводить к потерям, если в строке UTF-8 были символы на других языках. Содержимое строки в исходном поле ввода должно будет соответствовать этой настройке системы. (Если кто-то попытается запустить эту схему во Франции, то в поле ввода будут знаки вопроса).
4) копирование в буфер обмена без переключения раскладки клавиатуры на кириллицу будет выдавать "крякозябры". У Юникодного компилятора такого не будет.

Редактировалось 8 раз(а), последний 2023-09-01 23:00:34
карма: 26

0
Ответов: 12
Рейтинг: 0
#644: 2023-09-01 23:55:29 ЛС | профиль | цитата
Огромное спасибо за быстрый ответ и отдельное за пример, без него я бы даже с объяснением ещё сто лет возился бы.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1341
Рейтинг: 31
#645: 2023-09-25 11:39:10 ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2023-09-25 13:04:41
карма: 2

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)