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

magicxor

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

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

  • Посещение

1 Подписчик

Контакты

  • Сайт
    https://github.com/magicxor
  • ICQ
    371250184

Информация

  • Пол
    Не определился

Посетители профиля

1 077 просмотров профиля
  1. 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 Возникает исключение: В инди такой проблемы нет, она отдаёт контент HTML страницы, как и положено. Потестить можно через C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\RTL\HttpAsyncDownload Это очередной баг? (использую Delphi 10.1 Berlin)
  3. Можно попробовать заменить одну кнопку точно такой же новой, сохранить проект и посмотреть разницу с исходным вариантом с помощью WinMerge.
  4. Если я правильно понял, то https://github.com/magicxor/MXUtils/blob/master/Source/MX.MarshalManager.pas Пример, в котором маршалится/анмаршалится объект типа TList<string>:https://github.com/magicxor/MXUtils/blob/master/Samples/MarshalManager/uFormMain.pas
  5. Извините, что апаю тему, но я несколько раз заводил баги в https://quality.embarcadero.com/browse/ (и их все уже исправили, чему я несказанно рад). Там регистрация свободная: у меня тоже нет лицензии, но баги репортить можно.
  6. Ну FMX-то не содержит, а вот приложения на нём - вполне могут. В соседних разделах вон обсуждают использование Android API, используют такие некроссплатформенные неймспейсы, как Androidapi.JNI.GraphicsContentViewText и Androidapi.Helpers. Так чем UWP/WinRT хуже?
  7. Так и мой вопрос тоже платформенно зависим, потому и размещён в разделе Windows.
  8. Ок, скопипастил в Multi-Device Application. Код не менял. При нажатии на кнопку в первый раз: Во второй раз: После закрытия формы:
  9. Добрый день. Как использовать 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; После нажатия на кнопку: И сразу: Но иногда (рандомно) вместо первого исключения получаю: IFuture использую потому что если это делать в потоке гуя, при вызове RoInitialize ругается, что поток уже запущен и нельзя изменить его состояние. Delphi 10 Seattle, Windows 10 x64.
  10. Думаю, нужно что-то вроде этого: http://www.firststeps.ru/cbuilder/r.php?78 http://www.interface.ru/home.asp?artId=27410 Тут для старой версии IDE, но аналогию можно провести. P.S.: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Creating_a_New_Component
  11. Думаю, что никак. Иначе бы все приложения, типа вайбера и такси, сами бы узнавали ваш номер, и не приходилось бы ничего вводить. Единственный способ это отправить смс, но вряд ли пользователю понравится такая вольность. P.S.: хотя в гуглоконтактах было что-то типа контакта "я", но думаю, 99.99% людей его не заполняют.
  12. Делал неоднократно, руками и через IDE - не помогало. Более того, Clean из IDE завершался ошибкой, т.к. IDE не могла удалить exe проекта. Если что-то и блочило файл, то это однозначно сама IDE. С другой стороны, возникает вопрос, а как тогда мне удавалось удалить файл через проводник. Я всё же грешу на глюки самой IDE (XE8 по сравнению с XE7 и RS10 то ещё глюкалово) в хитросплетении с глюками, привнесёнными установкой сторонних компонентов.
  13. Можно попробовать отлаживать под Windows и смотреть вывод в OutputDebugString(PWideChar(...)) Ещё есть GExperts, там есть своя функция SendDebugEx(...), которая шлёт отладочный вывод в окно GExperts.
  14. Удалил все лишние компоненты (DevExpress, ATScrollBar, Next Suite...). Установил последние обновления Windows. Проблема излечилась (не знаю, надолго ли). Спасибо всем за помощь.
  15. Прописал в pre-build events у проекта: cmd /C del "$(OUTPUTFILENAME)" Не помогло. С жёстким заданием пути тоже не помогло.
×
×
  • Создать...