Проблемка при портировании компонента

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

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

Ответить
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Проблемка при портировании компонента

Сообщение qivi »

Решился попробовать партировать компонент. После ряда изощрений он жалуется на нечто: HeapAllocFlags. Что это такое? Что с этим можно сделать?
Аватара пользователя
Slavikk
постоялец
Сообщения: 208
Зарегистрирован: 15.01.2007 21:34:52
Откуда: Из лесов...
Контактная информация:

Сообщение Slavikk »

Google тебе поможет. Без знания что за компонент и как ты его портировал, никто ничего тебе не скажет, не умеем просто мысли читать :D .
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

Хорошо... тока гугля ясности не добавила....
Просто скажите что такое HeapAllocFlags и желательно (есле можете конечно) дайте ссылочку на информацию по нему, единственное что гугля сделала это внесла подозрение что это некая стандартная для каких то вещей штука... но это было ещё раньше первого поста.
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

HeapAllocFlags

var HeapAllocFlags: Word = 2;
Этими флагами руководствуется диспетчер памяти при работе с памятью. Они могут комбинироваться и принимать следующие значения (по умолчанию - GMEM_MOVEABLE):

Флаг - Значение
GMEM_FIXED - Выделяет фиксированную память. Т.к. ОС не может перемещать блоки памяти, то и нет нужды блокировать память (соответственно, не может комбинироваться с GMEM_MOVEABLE)
GMEM_MOVEABLE - Выделяет перемещаемую память. В Win32 блоки не могут быть перемещены, Если они расположены в физической памяти, но могут перемещаться в пределах кучи.
GMEM_ZEROINIT - При выделении памяти (например, функцией GetMem) все байты этой памяти будут выставлены в 0. (отличная черта)
GMEM_MODIFY - Используется для изменения атрибутов уже выделенного блока памяти
GMEM_DDESHARE - Введёны для совместимости с 16-разрядными версиями, но может использоваться для оптимизации DDE операций. Собственно, кроме как для таких операций эти флаги и не должны использоваться
GMEM_SHARE - "-/-"
GPTR - Предустановленный, соответствует GMEM_FIXED + GMEM_ZEROINIT
GHND - Предустановленный, соответствует GMEM_MOVEABLE + GMEM_ZEROINIT

http://club.shelek.ru/viewart.php?id=160
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

Да уж...
Врядли я это осилю...

Вобще я попытался портировать компоненты РичВиев (полную версию), дело то оно неправильное (незаконное)... да тока нужен мне он (нужен полноценный формат работающий с гипертекстовыми документами (ричэдит непойдёт - варворское изобретение))... я ведь купить хотел его... а автор загнул что версии под данную среду нет (чего я вобщем то и ожидал) и портировать он его в неё не собирается так как не верит в наличае платёжеспособных клиентов в сколько бы то нибыло заметном количестве... вот так вот...
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Что за платформа?
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

Lazarus 9.26 под WIN32, возможно в последствии и под Линукс.
haword
постоялец
Сообщения: 301
Зарегистрирован: 02.03.2006 10:34:40

Сообщение haword »

есть в лазаре компонент ричьвью который был бесплатным, попробуй туда перенести нужные тебе возможности. но это тааакой геморой учитывая того что ты не знаешь что такое HeapAllocFlags. Без изучения апи и переноса функционала полностью мало че получиться.
Аватара пользователя
qivi
энтузиаст
Сообщения: 703
Зарегистрирован: 19.01.2009 12:45:54
Откуда: Россия

Сообщение qivi »

есть в лазаре компонент ричьвью который был бесплатным, попробуй туда перенести нужные тебе возможности. но это тааакой геморой учитывая того что ты не знаешь что такое HeapAllocFlags. Без изучения апи и переноса функционала полностью мало че получиться.


Ну дак я то самое и делал!!!

Добавлено спустя 2 часа 9 минут 37 секунд:
Никто кстате этого ещё не делал?
Ответить