Jump to content

gioma

Members
  • Content Count

    143
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by gioma

  1. It's a very big project, so it's hard for me post the code. Basically the program connects to a socket server and performs some operations. If started by another program, which is installed as a server, the program starts hidden, with an icon on the tray bar. The operations it performs with the socket server update the interface (with messages, buttons/pannels that become visible / invisible). If I start the program and the main form has the option visible=true in the object explorer everything works fine. Otherwise, if the program is hidden, when the interface is shown it presents transparent pieces as if it had not been able to draw it and then freezes until it crashes.
  2. Yes, indeed it is true. Trivially the problem is that. But now I have another problem. I create and modify objects of PrimaryForm at runtime (including frames) and it happens that if I set PrimaryForm.visible = false in the Object Inspector when I make the window visible again (show or visible=true) the program remains blocked, as if it could not redraw the interface. In the code I have no errors, all the instructions are executed without problems, but when I view the window it remains frozen, as if it could not redraw it.
  3. I have an application that uses a TDirect2DCanvas to render an image stream. However, I noticed that the iterpolation used is only Linear (Direct2D 1.0), but if I wanted to use those introduced with Direct2D 1.1 (bicubic, etc.) i would have to add unit Winapi.D2DMissing. Now the problem is that the TDirect2DCanvas does not use ID2D1DeviceContext (added in Winapi.D2DMissing) as the rendering target but ID2D1RenderTarget. I can't figure out how to use the new Direct2D 1.1 features. Anyone has any ideas?
  4. it seems incredible but it seems to work, there is a difference between the various interpolations.
  5. So I could start from the Vcl.Direct2D unit to create a unit that uses DirectD2 1.1..mm.. it could be an indea. For now I have done this and it seems to work, but I don't know if I use Direct2D 1.1 at 100% _scale := width / _HostDesktopWidth; IMGpitch:=_HostDesktopWidth*4; if (DesktopFrame=nil) or ( _DesktopFrameRect.right <> _HostDesktopWidth ) or ( _DesktopFrameRect.bottom <> _HostDesktopHeight ) then begin _DesktopFrameRect.left:=0; _DesktopFrameRect.right:=_HostDesktopWidth; _DesktopFrameRect.top:=0; _DesktopFrameRect.bottom:=_HostDesktopHeight; BitmapProp.DpiX := 0; BitmapProp.DpiY := 0; BitmapProp.pixelFormat.Format := DXGI_FORMAT_B8G8R8A8_UNORM; BitmapProp.pixelFormat.AlphaMode := D2D1_ALPHA_MODE_IGNORE; _FD2DCanvas.RenderTarget.CreateBitmap(D2D1SizeU(_HostDesktopWidth, _HostDesktopHeight), _IMGBuffer, IMGpitch, BitmapProp, DesktopFrame); WriteLog('[Paint] CreateBitmap '+intToStr(_HostDesktopWidth)+'x'+intToStr(_HostDesktopHeight) ); end else begin _DesktopFrameRect.left:=0; _DesktopFrameRect.right:=_HostDesktopWidth; _DesktopFrameRect.top:=0; _DesktopFrameRect.bottom:=_HostDesktopHeight; DesktopFrame.CopyFromMemory(_DesktopFrameRect,_IMGBuffer,IMGpitch); end; if _firstRender then begin _ConnectionStartedAt:=GetTickCount; ComputeTransform; _firstRender:=false; end; _FD2DCanvas.RenderTarget.SetTransform(_FTransform); LRect.left:=0; LRect.right:=_HostDesktopWidth; LRect.top:=0; LRect.bottom:=_HostDesktopHeight; (_FD2DCanvas.RenderTarget as ID2D1DeviceContext ).DrawBitmap(DesktopFrame,LRect,1, _InterpolationMode);
  6. I use Delphi Alexandria and when compiling the example projects there are many errors due to missing {$IFDEF FPC} and if I set FPC between the conditional defines there are commands that don't exist in Delphi. I use Delphi Alexandria and when compiling the example projects there are many errors due to missing {$IFDEF FPC} and if I set FPC between the conditional defines there are commands that don't exist in Delphi.
  7. Thanks but It doesn't work on Delphi , it needs many corrections 😞
  8. You're right! Fixed the error now it works 🤩 : procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var buf:WideChar; KSta:TKeyboardState; begin //initialize TKeyboardState GetKeyboardState(ksta); //limit to 1 the capture lenght into buffer that is wide char ToUnicodeEx( key, 0, ksta, @buf, 1, 0, 0); log.Lines.Add('KeyUp : '+ inttoStr(key)+'='+buf ); end; Now if I press "è" it wrote into TMemo: KeyUp : 186=è Thank you all!
  9. I almost found a solution: procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); var buf:WideChar; KSta:TKeyboardState; s:string; begin log.Lines.Add('KeyUp : '+ inttoStr(key) ); Winapi.Windows.ToUnicodeEx( key, 0, ksta, @buf,255, 0, 0); s:=WideCharToString(@buf); log.Lines.Add('KeyUp : '+ s); end; Obviously I will not use it like that, but there is a problem, it goes into exception when it writes the result to the log (TMemo). Even if I levo the last line goes into exception, however the variable s is valued.
  10. Because I need to emulate the Keydown and KeyUp events for every single character pressed.
  11. I use VCL and the App isn't made with Delphi. The purpose is to send the KeyUp and KeyDown events with the char from a Delphi-VCL application to a non-delphi application running on Android, iOS and Mac.
  12. Hello, I am creating a remote control program using the WebRTC. I have a problem, however, when the user I am connected to locks the screen I cannot access the welcome screen. In fact, at that moment, it seems that the streaming of the desktop is interrupted, while the connection between the two clients remains active, so they can exchange messages. Assuming the logged in user knows the access credentials, I'm looking for a way to re-login via the windows API and unlock the screen. It's possible to do it? I tried with LogonUser, but although the result is positive it does not unlock access. Maybe I should try using PostMessage?
  13. ok, I understand the situation! Thank you for the valuable insights, now I'll have some fun! : D
  14. There are remote control programs that let you choose which session to open the connection in, how do they do it?
  15. What do you mean? I don't want to bypass the windows login, but I would like to do it through a program controlled by a user who knows their login credentials.
  16. Hi, I'd like to use custom fonts for my multi-device app. I chose the roboto font, and for Android deploy there is no problem. The problem is with the iOS deploy, I addedd the roboto .ttf files at the Deployment page and I edited the "info.plist.TemplateiOS.xml" adding this section: <key>UIAppFonts</key> <array> <string>Roboto-Black.ttf</string> <string>Roboto-BlackItalic.ttf</string> <string>Roboto-Bold.ttf</string> <string>Roboto-BoldItalic.ttf</string> <string>Roboto-Italic.ttf</string> <string>Roboto-Light.ttf</string> <string>Roboto-LightItalic.ttf</string> <string>Roboto-Medium.ttf</string> <string>Roboto-MediumItalic.ttf</string> <string>Roboto-Regular.ttf</string> <string>Roboto-Thin.ttf</string> <string>Roboto-ThinItalic.ttf</string> </array> However when I install and run the app in the iPhone the app show the default font. What I'm wrong?
  17. Thanks for the hint, I deepen the subject.👍 Of course it wouldn't be bad if someone had already solved it! After all, the community is also useful for this.. 😋
  18. My application not only has administrator privileges, but runs as a System user.
  19. gioma

    XCode 12 compile error

    I have installed the patch but nothing changes: [PAClient Error] Error: E0776 2020-12-18 10:22:36.975 xcodebuild[2324:116233] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/m_/9ddrsvpx4wl6gffm17_2yky40000gn/T/IperiusRemote_2020-12-18_10-22-36.974.xcdistributionlogs'. [PAClient Error] Error: E0776 Exported IperiusRemote to: /Users/imac_enter/PAServer/scratch-dir/Utente-IMAC/IperiusRemote.archive/temp [PAClient Error] Error: E0776 ** EXPORT SUCCEEDED ** I had to use XCode 11 .. 😞
  20. Hi, since I have istalled 10.4.1 I have some problem, first of all I have this problem when i tryn to "manage platforms"..
  21. I have tried to use GetitCmd.exe but I receive this response : GetIt Package Manager - Version 7.0 Copyright (c) 2020 Embarcadero Technologies, Inc. All Rights Reserved. Command failed with 1 exit code! On the Welcome page of Delphi it shows me this message: The Embarcadero GetIt server could not be reached. This has been happening since I installed Sydney 10.4.1
  22. Hi, I recompiled an FMX project in Delphi 10.4, but I noticed, only for the iOS release that the TRESTClient component is not working well. When I go to execute the Execute method, it does not return the value of the call but the method remains hung. Instead for the Android version everything works correctly. is it a bug? _rRequest.Body.ClearBody; _rRequest.Params.Clear; _rRequest.Method := TRESTRequestMethod.rmGET; _rClient.BaseURL:=_host_url+'/api/gateway/host?id='+fullIdHost; _rClient.Params.Clear; _rRequest.Execute; _statusCode:=_rResponce.StatusCode;
  23. Hi. I have a problem with the app name when I deploy it for iOS. I changed the value of "CFBundleDisplayName" but when the app is installed it takes the "${modulename}" value as its name. What else do I have to do?
  24. gioma

    Delphi Rio 10.3.2 : iOS Display Name

    ok, I solved. I have created a new project and now it works!
  25. gioma

    Delphi Rio 10.3.2 : iOS Display Name

    It only worked once, with the Debug version, but then it returned to the initial situation! In my opinion it is a bug ..
×