-
Постов
414 -
Зарегистрирован
-
Посещение
-
Победитель дней
12
Весь контент Pax Beach
-
давай уже ссылку, может там люди что-нить еще рассказывают )
- 13 ответов
-
- firemonkey
- скриншот
-
(и ещё 4 )
C тегом:
-
В этом видимо есть какой-то потенциал, если научиться получить DX контекст в качестве устройства для метода ICreateDevEnum
- 13 ответов
-
- firemonkey
- скриншот
-
(и ещё 4 )
C тегом:
-
Это граббер с утройств, написер с камеры.
- 13 ответов
-
- firemonkey
- скриншот
-
(и ещё 4 )
C тегом:
-
компилится?
- 13 ответов
-
- firemonkey
- скриншот
-
(и ещё 4 )
C тегом:
-
Привожу пример готового FMX приложения, которое рисует на форме с помощью интерфейса IDirect3DDevice9. В примере реализован вызов анонимного метода Present() интерфейса IDirect3DDevice9, имея ссылку на интерфейс и порядковый номер метода. Данная реализация пригодится при установке ловушек (Hooks). Вкратце, суть реализации такая: Объявляю процедурный тип нужного метода type TPresent9 = function(pSourceRect, pDestRect: PRect; hDestWindowOverride: HWND; pDirtyRegion: PRgnData): HResult of object; stdcall; Объявляю переменную этого типа var PPresent: TPresent9; begin ... IntRefToMethPtr(d3d9Dev, PPresent, 17); PPresent(nil, nil, DParametrs.D3DPP.hDeviceWindow, nil); Реализую процедуру получения метода интерфейса по номеру procedure IntRefToMethPtr(const IntRef; var MethPtr; MethNo: Integer); type TVtable = array [0 .. 999] of Pointer; PVtable = ^TVtable; PPVtable = ^PVtable; begin // QI=0, AddRef=1, Release=2, etc TMethod(MethPtr).Code := PPVtable(IntRef)^^[MethNo]; TMethod(MethPtr).Data := Pointer(IntRef); end; А теперь получаем метод интерфейса по его порядковому номеру и вызываем его IntRefToMethPtr(d3d9Dev, PPresent, 17); PPresent(nil, nil, DParametrs.D3DPP.hDeviceWindow, nil); Благодарю за оценку этого решения на StackOverflow. Скачать пример: D3DDemo.zip
-
- direct3d
- firemonkey
-
(и ещё 3 )
C тегом:
-
Товарищи, как полет с такими настройками, кто пробовал еще?
-
Еще вопрос — какая версия NDK 32 или 64 bit?
-
Спасибо, будем тестить на мажорных версиях, как будет время.
-
Можно плиз последнее поле NDK развернуть? Чем обусловлен выбор платформы android-17 в NDK, при этом в SDK android-25?
-
Скрины настроек каталогов SDK и NDK пожалуйста
-
Приведенный класс не корректно работает в полноэкранном режиме. К тому же в режиме DirectX не верно определяется видеоадаптер. Разбираюсь с этим пока.
- 13 ответов
-
- firemonkey
- скриншот
-
(и ещё 4 )
C тегом:
-
Поиск — это искусство. Спасибо тебе огромное! Не понимаю, как я мог его не найти.
- 13 ответов
-
- firemonkey
- скриншот
-
(и ещё 4 )
C тегом:
-
Мне нужно сделать снимок экрана из своего приложения в приложении DirectX (в игре). По-быстрому накидал приложение, исходники здесь: MakeScreenshot-Forum.zip 1. по нажатию единственной кнопки будет выполнена серия из 16 снимков экрана. Если запущен Скайп, то фотографироваться будет содержимое его окна. 2. По нажатии CTRL+ALT+F9 будет сделан единичный снимок 3. Label внизу показывает сколько миллисекунд затрачено на вывод снимка 4. В комментах так же вы найдете, как работать со снимками через буфер обмена. Работа выполняется через GetDC(NULL); Windows 10 x64. Снимки делаются. И DirectX тоже нормально фотографируется. НО! только в оконных приложениях. Если приложение DirectX полноэкранное, то на всех снимках одна и та же картинка с первого снимка. То есть изменение буфера экрана в приложении ни как не отражается на снимках. Что нужно? Необходимо делать снимки конкретного приложения через интерфейс DirectX, а точнее, я так понимаю, через DirectShow. Тогда не будет разницы в окне оно или на полный экран. Помогите плиз, знающие люди, с решением этой задачи. Гарантирую вам от сообщества большой почет, от меня огромный респект, если это принесет доход, то еще и очень приятный бонус. Ссылки теме: 1. DIRECTX FOR DELPHI 2. unofficial version of DelphiX 3. DirectX для начинающих 4. MinHook - The Minimalistic x86/x64 API Hooking Library 5. Various methods for capturing the screen 6. Вывод графики на рабочий стол Windows с использованием оверлеев DirectX 7. Project JEDI 8. Реализация перехвата вызовов API — исчерпывающе про внедрение DLL, если разобраться, + это на Delphi UPD: 9. Серия видео уроков Пишем D3D-хук — все понятно, только в Delphi перенести нужно. UPD 2: Научился рисовать в Direct3D и ловить интерфейс IDirect3DDevice9. Теперь делаю DLL ловушку для реализации снимков.
- 13 ответов
-
- firemonkey
- скриншот
-
(и ещё 4 )
C тегом:
-
Посмотрите класс, реализующий альтернативный Sleep (под катом). соль в следующем: создаем потомка TThread, запускаем, ждем завершения: class function TDelays.Delay(aDuration: integer): TDelay; begin if not Assigned(FList) then FList := TList<TDelay>.Create; Result := TDelay.Create(aDuration); FList.Add(Result); Result.FreeOnTerminate := false; Result.OnTerminate := OnTerminateItem; Result.Start; Result.WaitFor; end; Работаем с ним нежно procedure TDelay.Execute; begin inherited; while (not Terminated) and (MilliSecondsBetween(now, FStart) < FDelay) do begin sleep(100); end; end; По завершении работы убиваем: class procedure TDelays.OnTerminateItem(Sender: TObject); begin TTask.Run( procedure begin try if Assigned((Sender as TDelay)) then begin (Sender as TDelay).Free; FList.Remove((Sender as TDelay)); end; except end; end); end; А можем убить и досрочно: (TObject as TDelay).Free; потому что в деструкторе стоит такой код: destructor TDelay.Destroy; begin Terminate; if (not Suspended) then WaitFor; inherited; end; uDelays.zip
-
За ответ — зачет, плюсанул на стэке. А права прописаны в Permissions проекта, но для Android 6.0 и выше запрашиваю еще и дополнительно.
-
В MIUI вообще сервисы Delphi не запускаются. Всем обладателям Xiaomi привет! Отключил энергосбережение, предоставил приложению все привилегии. Смартфон ведет себя как iPhone. Может кто-то знает как это лечится? Redmi 4, Andorid 6.0.1, MIUI Global 8.0.
-
В итоге, я пересел обратно на съемку фото через TAction. В Берлине 10.1.2 для Android 6+ делаю запрос прав на камеру и доступ к внешнему хранилищу (камера не обязательно, потому что съемка ведется нативным приложением) — все нормально заработало.
-
Читая примеры гугла, я так понял, что придется лезть в папку library и удалять последнюю фотку, если это сильно нужно.
-
Какая версия Delphi, Andorid? REQUEST_IMAGE_CAPTURE поменяли?
-
Технически такое возможно, если драйвер Jet позволяет работать с файлами Excel, как с источниками данных без установленного пакета MS Office. Фактически ADODB дергает нужную DLL, которая определяет логику работы с источником.
-
Положу здесь видео, как сертификаты устанавливать
-
Сделал пример приложения для работы с Microsoft Word из приложения Delphi. Такое приложение может использоваться для обмена данными между объектами семейства Microsoft Office. Исходные коды приложения помогут вам понять, как работать с объектной моделью Microsoft Word. Чтобы лучше разобраться с нюансами Word, предлагаю ознакомиться со справочником Word VBA reference на MSDN. Проект создан в среде FireMonkey Delphi Berlin 10.1 Протестирован в MS Word 2010, 2016, Windows 7x64 и 10x64. Чтобы посмотреть пример, просто распакуйте zip-файл проекта и щелкайте по порядку кнопки на форме. Скачать Delphi Word Test WordTest.zip