Clarion 11-12

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4629
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 7 раз
Поблагодарили: 37 раз

Clarion 11-12

Сообщение finsoftrz »

По поводу настройки среды с11 полезно посмотреть вебинары, которые проводят зарубежные коллеги, обращая внимание на ее внешний вид, прежде всего, на расположение окон инструментов (которые включаются в меню View). Эти окна могут быть прилеплены к одному из краев экрана с переключением между собой через закладки (до 4 возможных группировок), либо расположены в любом другом месте экрана. То, как сделано по умолчанию, не очень удобно. Еще заметил, что можно настраивать линейку кнопок не только для главного тулбара, но и в редакторе.
Ну и монитор должен быть большим и широким, чтобы помещались все инструменты и оставалось в полной видимости область проектирования окна.
Code complete отключать нельзя ни в коем случае, это основная фишка, без нее кайфа никакого.

Посмотрел еще связку среда с11 рантайм с6. Пару мелких проблем всплыло, а так работает. Неверно определяется символ %DriverLib для ip драйвера с6 (c60ipx.dll вместо c60ipdx.dll). Это фиксится на уровне шаблонов путем использования названия вместо символа. В секции #GLOBALDATA кодогенератор с6 требует описание импортируемых переменных как EXTERNAL, DLL, а кодогенератор c11 как EXTERNAL, DLL(1). Ну и в среде с11 встроенные пиктограммки выглядят несколько иначе, чем в с6. Это может вызвать некоторый диссонанс в оформлении. Если так, то лучше заменить на внешние.
C6/C11, ШВС, tps/btrieve.
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

Clarion 11-12

Сообщение ABBASoft »

Прошу помощи у сообщества Clarion.
Как в Clarion 11 достучаться к участку оперативной памяти, например, в Clarion 6 было так:
PEEK(Address(00F000h,00FFF5h),MEM:DBIOS)
Clarion 11 дает ошибку.
Заранее благодарен всем, кто поможет в этом вопросе.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7385
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 14 раз
Поблагодарили: 49 раз

Clarion 11-12

Сообщение Игорь Столяров »

Да в общем-то ничего и не изменилось в C11 ...
Прямые обращения по адресу много где юзаются (MemCry() и т.д.).
Юрий :( рекомендовал такие обращения в потоке заворачивать, попробуйте:

Код: Выделить всё

     UnlockThread()
     ! Прямое обращение к памяти
     LockThread()
За теми кто отстал - не возвращаться. (С) Кодекс
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

Clarion 11-12

Сообщение ABBASoft »

UnlockThread()
PEEK(Address(00F000h,00FFF5h),MEM:DBIOS)
LockThread()
Та же ошибка.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3135
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Clarion 11-12

Сообщение Дед Пахом »

У меня другая.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7385
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 14 раз
Поблагодарили: 49 раз

Clarion 11-12

Сообщение Игорь Столяров »

ABBASoft писал(а): 27 Декабрь 2021, 17:12Та же ошибка.
А через WinAPI ?

Код: Выделить всё

  memcpy(Address(MEM:DBIOS), Address(00F000h,00FFF5h), Size(MEM:DBIOS))
Последний раз редактировалось Игорь Столяров 27 Декабрь 2021, 17:30, всего редактировалось 2 раза.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7385
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 14 раз
Поблагодарили: 49 раз

Clarion 11-12

Сообщение Игорь Столяров »

Кстати, не очень понятна вот эта конструкция ...

Код: Выделить всё

   Address(00F000h,00FFF5h)
Что это такое ?
За теми кто отстал - не возвращаться. (С) Кодекс
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

Clarion 11-12

Сообщение ABBASoft »

Address(00F000h,00FFF5h) так было в Clarion 6 и все работало.
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

Clarion 11-12

Сообщение ABBASoft »

include('winapi.clw','memcpy')
SECTION not found: memcpy
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7385
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 14 раз
Поблагодарили: 49 раз

Clarion 11-12

Сообщение Игорь Столяров »

ABBASoft писал(а): 27 Декабрь 2021, 17:49 include('winapi.clw','memcpy')
Не пугайте меня пожалуйста ... Где-нибудь в Global Map:

Код: Выделить всё

  Module('Windows')
     memcpy(Long lpDest,Long lpSource,Long nCount),Long,Proc,Name('_memcpy')
  end
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7385
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 14 раз
Поблагодарили: 49 раз

Clarion 11-12

Сообщение Игорь Столяров »

ABBASoft писал(а): 27 Декабрь 2021, 17:34 Address(00F000h,00FFF5h) так было в Clarion 6 и все работало.
Я ни в коем случае не против. Можно сказать, что я даже за. :)
Просто функция Address() всегда имела один параметр.
Вот я и спросил, решение той ли проблемы Вы ищите ... ;)
За теми кто отстал - не возвращаться. (С) Кодекс
ABBASoft
Активист
Сообщения: 115
Зарегистрирован: 15 Май 2006, 18:08

Clarion 11-12

Сообщение ABBASoft »

Формат (синтаксис)
memcpy(Address(MEM:DBIOS), Address(00F000h), 16)
но все равно выдает ошибку в виде дампа.
Наверное потому, что "ближе к концу 2009 г. компания Microsoft добавила memcpy(), CopyMemory() и RtlCopyMemory() в список функций, запрещённых в соответствии с методикой разработки безопасных программ Secure Development Lifecycle (SDL). " (Википедия)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3135
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Clarion 11-12

Сообщение Дед Пахом »

ABBASoft писал(а): 27 Декабрь 2021, 21:08 Address(00F000h)
Это вот тоже хрень какая-то.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7385
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 14 раз
Поблагодарили: 49 раз

Clarion 11-12

Сообщение Игорь Столяров »

Может быть всё-таки дело в адресе ?
В C63 вот эту строку вышибает (молча):

Код: Выделить всё

  PEEK(Address(00F000h),MEM:DBIOS)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

Clarion 11-12

Сообщение porutchik »

тупая привязка по дате генерации биос? в дос еще можно было никто биос не обновлял, сейчас... особенно на новых материнках как пирожки
Ответить