Перейти к содержанию
Fire Monkey от А до Я

kami

Пользователи
  • Постов

    643
  • Зарегистрирован

  • Посещение

  • Победитель дней

    41

Сообщения, опубликованные kami

  1. 19 минут назад, Вадим Смоленский сказал:

    Что-то где-то недокручено, такое впечатление..

    Это FMX. Оконная процедура устанавливается на конкретный хендл окна. А FMX раз по 100 пересоздает хендл. В результате установка NewWindowProc в качестве WndProc уходит в небытие.

  2. А в чем загвоздка?
    Достать поле из JSON - вроде просто, обычная работа с JSON далеко не самой сложной структуры.
    Раскодировать из Base64 - uses System.NetEncoding; TNetEncoding.Base64.DecodeStringToBytes и сохранить их в файл
    Потом открыть файл через интент.

  3. В 11.02.2016 в 18:03, ophion сказал:

    Вот пример того, как писать и читать BLOB

    Друже! Ты прекратил мои мучения. Ибо всякие извращения с обращением Query.Fields('lalala').AsBytes и тому подобное приводили к AV на закрытии Query.
    При этом тип поля - TVarBytesField (почему-то именно так распознается VARBINARY в SQLite...).

  4. 15 часов назад, x11 сказал:

    я готов, но Вы же молчите...

    У меня большая просьба: вместо кучи маленьких сообщений, которые вы пишете буквально одно за другим, составьте одно, в которое напишите всё то, что хотели сказать.

    Это не чат, где "кто в онлайне - прочитали, остальным пофиг". Это форум. И искать зерна истины в этой портянке из мимолетных мыслей как минимум неудобно.

  5. 2 часа назад, x11 сказал:

    Пожелание.

    Не здесь надо писать. А на гитхабе заводить issue.

    Это будет правильнее и нагляднее: сам проект лежит на гитхабе, там же значительно проще работать с багами / неудобствами.
    Да и всем видеть как развивается проект - гораздо лучше.

    А здесь в толпе ваших сообщений я,к примеру, уже потерялся.

     

  6. В 10.10.2018 в 10:49, Zyablik3000 сказал:

    Сообщение не приходило потому что была криво заполнена структура TCopyDataStruct

    Стандартная практика при работе с WinAPI - после выделения памяти под структуру заполнить ее нулями.

  7. 11 часов назад, vasilius сказал:

    Ехе маленький , и требует пакеты...

    Значит глобальная настройка , выставленная в "All configurations - All platforms" перекрыта в наследниках, например в "Debug-Win32"
    Но не в этом дело.

    Попробуйте методом последовательного исключения, вернее - включения.
    Сперва избавьтесь от автолинковки "своих" dll, к примеру - видна загрузка какой-то NSI.dll. Если проблема пропала - постепенно включаем их. Не пропала - можно начать с чистого листа и постепенно дополнять новый проект своим кодом. На худой конец - просто пересоздать dpr и dproj, или что там аналогичное в билдере.

    Ну и не забываем про Build проекту. Есть смутное подозрение, что собрали-то без рантайм-пакетов, но что-то не подхватилось и до сих пор приложение их хочет. А может - не приложение, а dll???

    Свалиться при инициализации ImageList, даже не доходя до своего кода - ну, это я не знаю :))) Может, винду переустановить? (шутка).

  8. 15 часов назад, Hangar-18 сказал:

    В Android такое не проходит

    Действительно (сам не могу проверить - сужу по StackOverflow). Там же, на SO, кстати, советуют в качестве костылятора использовать онлайн-читалку pdf от Google ( например ).

    Ну или - воспользоваться сторонним компонентом. Которые, увы, платные (насколько я прошерстил гугл)

  9. В 15.09.2018 в 15:50, krapotkin сказал:

    если с сервера приходит в UTF-8, все работает замечательно без всяких переделок

    Даже более того - если с сервера приходит с указанием правильной кодировки (не обязательно UTF-8), то всё работает замечательно без всяких переделок. Ибо перекодирование автоматически производится во внутренностях http-клиента.

  10. 43 минуты назад, ramir сказал:

    Тогда можно спокойно использовать GetMem/FreeMem и т.п

    Я вас удивлю, но GetMem / FreeMem внутри инстанса можно использовать без ограничений, не задействуя ShareMem. Совершенно спокойно. И не только их.
    Динамические, статические массивы, объекты и их списки, переменные идущие в анонимные методы - абсолютно всё требует выделения памяти. И это всё разруливается встроенным в инстанс менеджером.

    ShareMem нужен, если вы решаете что-либо подобное экспортировать из своего инстанса. Или принять извне. Но в этом случае - автор интерфейса длл и/или exe сам себе злобный Буратино.

  11. 15 часов назад, ramir сказал:

    может потребоваться и память выделять в DLL...

    Каким образом соотносятся выделение памяти в модуле и использование borlndmm.dll ?

    Опять-таки, любой ShareMem никак не позволит скрестить модули, написанные в разных средах разработки. Да даже в рамках Delphi, но разных версий это может быть чревато https://stackoverflow.com/a/26900922/4908529

  12. Не используйте дельфовые типы (в частности - строки как отдельно так и в составе record-ов) при передаче параметров в / из длл и не надо будет никаких костылей в виде borlndmm.dll и т.п.
    Представьте, что ваша длл будет вызываться из приложения на C++ и используйте только совместимые типы для экспортируемых функций.

    Я думаю, не надо говорить, что экземпляры классов 100% не стоит передавать между длл и exe.

  13. 6 часов назад, Вадим Смоленский сказал:

    внутри функции CallNextHookEx еще много всякого разного может происходить

    По большому счету там происходит всего одно: система смотрит, кто еще поставил хук такого же типа и вызывает его функцию. И далее и далее, пока не пройдет всех использовавших SetWindowsHookEx.
    Повторю - хуков в системе даже "в штатном режиме" установлено великое множество.

  14. В 15.06.2018 в 19:23, Вадим Смоленский сказал:

    Какой именно <>0?

    Что может быть непонятно во фразе non-zero value из первоисточника? Скорее всего, возвращаемый результат интерпретируется как BOOL. У любого булеан-типа есть два значения: 0 = False, не 0 = True.

    Что там присваивают конкретные компиляторы для значения True - это их проблемы. Сравнение всегда ведется с нулем.

     

    В 15.06.2018 в 19:23, Вадим Смоленский сказал:

    А если, как советуют, присвоить CallNextHookEx(CurrentHook, nCode, wParam, lparam), то это всегда будет ноль, что ли?

    Может да, а может и нет. Откуда вы знаете, какую логику заложили другие разработчики в свои хуки? Это исключительно их дело - считают ли они нужным

    Цитата

    to prevent the system from passing the message to the rest of the hook chain or the target window procedure.

     

×
×
  • Создать...