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

magicxor

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

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

  • Посещение

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

  1. В 10/10/2016 в 14:54, sviat сказал:

    Интересно, посмотрим, Спасибо. 

    1) TPLockBox, в этом репозитории https://github.com/magicxor/Cryptomeria можно посмотреть примеры использования (моя попытка создания упрощённой обёртки).

    2) Windows CryptoAPI и Cryptography API: Next Generation. Один японец создал заголовочные файлы http://vanillasky-room.cocolog-nifty.com/blog/2013/10/cryptoapi-and-c.html (https://github.com/magicxor/WinCryptographyAPIs)

    3) CryptoBlackbox for VCL https://github.com/magicxor/cryptobboxvcl

    4) Кое-что есть в Synopse.

    5) Fundamentals

    6) libsodium (https://github.com/alexpmorris/libsodium-delphi) и openssl.

     

  2. При простом GET-запросе на эти URL:

    https://accounts.google.com/AddSession?hl=ru&continue=https://www.google.com/%3Fgws_rd%3Dssl

    https://accounts.google.com/Logout?hl=ru&continue=https://www.google.com/%3Fgws_rd%3Dssl&timeStmp=1463418874

    Возникает исключение:

    Цитата

    Exception class ENetHTTPException with message 'Error querying headers: (87) Параметр задан неверно'. Process HttpAsyncDownloadDemo.exe (8924)

    В инди такой проблемы нет, она отдаёт контент HTML страницы, как и положено.

    Потестить можно через C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\RTL\HttpAsyncDownload

    Это очередной баг?

    (использую Delphi 10.1 Berlin)

  3. В 13.04.2016 в 21:58, RoschinSpb сказал:

    пригласить Вас в quality central

    Извините, что апаю тему, но я несколько раз заводил баги в https://quality.embarcadero.com/browse/ (и их все уже исправили, чему я несказанно рад). Там регистрация свободная: у меня тоже нет лицензии, но баги репортить можно.

  4. Ну FMX-то не содержит, а вот приложения на нём - вполне могут. В соседних разделах вон обсуждают использование Android API, используют такие некроссплатформенные неймспейсы, как Androidapi.JNI.GraphicsContentViewText и Androidapi.Helpers. Так чем UWP/WinRT хуже?

  5. 15 минут назад, Vitaldj сказал:

    в FMX нет class EOleSysError. То есть нет понятия OLE объектов. Т.к. это разработка только платформенно зависима от Windows.

    Так и мой вопрос тоже платформенно зависим, потому и размещён в разделе Windows.

  6. 13 минуты назад, Vitaldj сказал:

    Данный форум по FMX, вы не получите ответ по VCL.

    Ок, скопипастил в Multi-Device Application. Код не менял.

    При нажатии на кнопку в первый раз:

    Цитата

    First chance exception at $7532DAD8. Exception class EOleSysError with message 'Параметр задан неверно'. Process Project1.exe (17216)

    Во второй раз:

    Цитата

    First chance exception at $7532DAD8. Exception class EOleSysError with message 'OLE error 80070057'. Process Project1.exe (17216)

    После закрытия формы:

    Цитата

    First chance exception at $7782CBCA. Exception class $C0000005 with message 'access violation at 0x7782cbca: read of address 0x00000000'. Process Project1.exe (17216)

     

  7. Добрый день.

    Как использовать API WindowsRT для шифрования? (https://msdn.microsoft.com/en-us/library/windows/apps/windows.security.cryptography.core.aspx)

    Конкретно - интересует RSA, генерация пары ключей, импорт/экспорт в файл, шифрование и дешифрование строки.

    Для начала я пытаюсь просто получить названия алгоритмов шифрования, чтоб потом их использовать. Даже не возвращаю их пока из функции, просто получаю:

     

    uses 
      System.Threading,
      System.Types,
      System.Win.ComObj,
      Winapi.Security.Cryptography,
      Winapi.Foundation,
      Winapi.Foundation.Collections,
      Winapi.Storage.Streams,
      Winapi.CommonTypes,
      Winapi.Foundation.Types,
      Winapi.Winrt,
      System.Win.Winrt;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      AsymmetricAlgoNames: Core_IAsymmetricAlgorithmNamesStatics;
      AsymmetricAlgoNamesInsp: IInspectable;
      GetAlgoNames: IFuture<boolean>;
    begin
      GetAlgoNames := TTask.Future<boolean>(
        function: boolean
        begin
          OleCheck(RoInitialize(RO_INIT_MULTITHREADED));
          try
            OleCheck(RoGetActivationFactory(TWindowsString(SCore_AsymmetricAlgorithmNames),
              Core_IAsymmetricAlgorithmNamesStatics, AsymmetricAlgoNamesInsp));
            AsymmetricAlgoNames := AsymmetricAlgoNamesInsp as Core_IAsymmetricAlgorithmNamesStatics;
          finally
            RoUninitialize;
          end;
          Result := true;
        end);
      GetAlgoNames.Start;
    end;

     

    После нажатия на кнопку:

    Цитата

    First chance exception at $7532DAD8. Exception class EOleSysError with message 'Параметр задан неверно'. Process Project1.exe (6616)

    И сразу:

    Цитата

    First chance exception at $7532DAD8. Exception class EAggregateException with message 'One or more errors occurred'. Process Project1.exe (6616)

    Но иногда (рандомно) вместо первого исключения получаю:

    Цитата

    First chance exception at $76E8F2C3. Exception class $C0000005 with message 'access violation at 0x76e8f2c3: read of address 0xabababab'. Process Project1.exe (16300)

     

    IFuture использую потому что если это делать в потоке гуя, при вызове RoInitialize ругается, что поток уже запущен и нельзя изменить его состояние.

    Delphi 10 Seattle, Windows 10 x64.

  8. Думаю, что никак. Иначе бы все приложения, типа вайбера и такси, сами бы узнавали ваш номер, и не приходилось бы ничего вводить. Единственный способ это отправить смс, но вряд ли пользователю понравится такая вольность.

    P.S.: хотя в гуглоконтактах было что-то типа контакта "я", но думаю, 99.99% людей его не заполняют.

  9. Clean проекта делать нужно

    Делал неоднократно, руками и через IDE - не помогало. Более того, Clean из IDE завершался ошибкой, т.к. IDE не могла удалить exe проекта.

     

     

    Если что-то и блочило файл, то это однозначно сама IDE. С другой стороны, возникает вопрос, а как тогда мне удавалось удалить файл через проводник. Я всё же грешу на глюки самой IDE (XE8 по сравнению с XE7 и RS10 то ещё глюкалово) в хитросплетении с глюками, привнесёнными установкой сторонних компонентов.

  10. Seattle

    Android

    Отлаживаю передачу JSON между мобилой и API сайта.

    Естественно, JSON получается не 100 символов, но ведь и не килобайт...

    Нашел ли кто-нибудь способ просмотреть строку, хотя бы по частям, в стандартном отладчике?

    Пробовал запихивать в StringList, но StringList visualizer тоже не работает, да и просмотр List[0] - пишет, что нет такой переменной вообще (((

    Можно попробовать отлаживать под Windows и смотреть вывод в OutputDebugString(PWideChar(...))

    Ещё есть GExperts, там есть своя функция SendDebugEx(...), которая шлёт отладочный вывод в окно GExperts.

  11. Ну, если проводником удаляется, то какие проблемы? Выполняете cmd команду перед компиляцией кода.

    Прописал в pre-build events у проекта:

    cmd /C del "$(OUTPUTFILENAME)"

    Не помогло.

    С жёстким заданием пути тоже не помогло.

  12. Я боролся 2-мя вариантами. 

    1. Перегрузить студию.
    2. Анлокером разблокировать экзешку.

    Не очень удобно конечно, но других вариантов пока не нашел)

    Так в моём случае даже разблокировать не надо, оно проводником удаляется. Раньше было так, что не удалялось, но тогда и анлокер не помогал...

    А перезапускать студию для каждого билда это нереально

  13. Добрый день. Уже достала проблема, в большинстве случаев, когда я жму F9, программа не компилируется, а выплёвывается ошибка [dcc32 Fatal Error] F2039 Could not create output file ... Я захожу через мой компьютер и спокойно удаляю этот exe, после чего программа компилируется. Как можно решить эту проблему?

    (Windows 10, работаю с VCL, Delphi XE8, пробовал из-под админа и просто так)

  14. Delphi-to-PHP Symetric Cipher Tutorial     SVN     - вот рабочее решение для симметричного шифрования. Эту же библиотеку юзаю и для асимметричного. А вообще, теперь в TPLockBox, вроде, есть поддержка OpenSSL, значит, в теории можно этим OpenSSL-ом шифровать и всё будет совместимо.

     

    DCPcrypt вроде как умер, а последняя бета, подправленная для работы в XE7+, у меня выдавала неверный SHA1, например. Шифровать ею не пробовал.

  15. Объясните, почему все так радуются возвращению к древнему формату хэлпа? Я вот вижу, что он работает из рук вон плохо. В половине случаев не загружает статью, а вместо этого выдаёт ошибку. Поиском я в нём вообще не пользуюсь, потому что с вероятностью 70% он подвесит и себя, и IDE с результатами всей моей работы.

    Microsoft Document Explorer и выглядит лучше, и работает лучше, и имеет логичный интерфейс с более широкими возможностями, да взять хотя бы копирование по ctrl+С, не говоря о том, что там можно было весь MSDN вдоль и поперёк в режиме онлайн прошерстить и несколько вкладок открывать.

    Может, я чего-то не понимаю? По какой причине этот переход в каменный век был осуществлён?

  16. Добрый день. Столкнулся с проблемой: RAD Studio XE8 Update 1 портит исходник проекта при попытке его скомпилировать, переставляет буквы местами, выкидывает буквы и в итоге конечно же не может скомпилить. Пробовал

    - Отключать и включать Castalia;

    - Отключать и включать CnPack.

    Больше ничего не установлено, кроме разве что Documentation Insight.

    Проблема проявлялась и раньше, если память мне не изменяет, на XE6, но тут она вообще постоянно встречается. И с Update 1, и без него.

    К примеру, сейчас пытался скомпилировать JediApi_DynamicRelease_Win64 вот отсюда: https://github.com/ccy/jedi-apilib и получилось так:

    c8e2bcbb13514c59ab39fde32e54ae3f.png

     

    В итоге я взял, выстроил всё в одну строку и оно скомпилировалось.

     

    Как побороть этот баг?

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