Jump to content
ChrisChuah

Any delphi components for VNC or RemoteDesktop?

Recommended Posts

Hi

Is there a ActiveX or native component for VNC Client or Remote Desktop client so that the application can connect to the VNC server running on Ubuntu 22 and above.

The VNC ActiveX component that i have been using since Delphi 6 is not able to properly show the Ubuntu desktop version 22. But it is able to display properly for Ubuntu 20.

 

Please advise

 

regards

chris

Share this post


Link to post
18 minutes ago, Rollo62 said:

I think you mean this one: https://github.com/CloudDelphi/RTC-Portal-VCL

But that is neither VNC nor RDP, which is what the OP asked for.

 

For RDP there is an ActiveX but I don't know what it does. I've never used it.
https://learn.microsoft.com/en-us/windows/win32/termserv/remote-desktop-activex-control

  • Like 1

Share this post


Link to post

AFAIU mRemoteNG uses some kind of component or a lib for VNC so probably there is one. Try to check that lib. But you'll likely have to write Delphi wrapper by yourself

Share this post


Link to post
3 hours ago, ChrisChuah said:

Different layers. I haven't used either but AFAIK RTC Portal is a layer on top of RTC SDK.

Note though that it's a completely proprietary protocol. You need something that implements the RFB protocol (which is what VNC uses).

Share this post


Link to post

so meaning there is no component that i can use readily to plug into a Delphi form so that i can connect to a VNC server isnt it?

still have to do more work on it. oh mine..

then will need more time to research on these few github sources

 

Share this post


Link to post
On 10/31/2023 at 1:52 PM, Anders Melander said:

For RDP there is an ActiveX but I don't know what it does. I've never used it.
https://learn.microsoft.com/en-us/windows/win32/termserv/remote-desktop-activex-control

It indeed exists, and works as advertised. I grabbed installation instructions from somewhere a long time ago:

 

- Component -> Import Component -> Import ActiveX Control -> Select Terminal Services (mstscax.dll)
- Palette page: MsTSC, unit dir name: Delphi Lib folder, Search path: empty. Check Generate component wrappers
- Install to New package
- Enter the same name (MsTSCLib_TLB.dproj) under Delphi Lib folder
- Try to build package just to fail
- Change Property type of ConnectWithEndpoint to "OleVariant", build package again
- Right-click on MsTSCLib_TLB.bpl in Project manager and select "Install"

 

After this different versions of the control will appear on the palette and everything can be set (RD gateway, compression, audio redirection, key capture, etc.) via properties what mstsc.exe allows.

Kinda handy stuff.

Share this post


Link to post

Hi 

Last time, since Delphi 6, i managed to download an VNCX.dll from internet and i was able to embed it into my Delphi 6 application.

Now, i tried to import this same component into Delphi 11, Delphi 11 managed to convert into the TLB files and was able to compile it and add to the Palette.

When i create a new Windows VCL app and add that VNC ActiveX component into the form, Delphi 11 will crash.

Is there a way to find out why Delphi 11 crashed?

 

regards

chris

 

Share this post


Link to post

hi

Also the activeX comes in 32 bit and 64 bit version

when i do a regsvr32 vnc.dll and regsvr32 vnc64.dll, Delphi only shows the 32 bit activeX when importing.

how can delphi able to use the 64bit dll?

please advise

 

 

Share this post


Link to post
2 hours ago, ChrisChuah said:

how can delphi able to use the 64bit dll?

Is the Delphi app 64-bit?

Share this post


Link to post

Delphi can compile app into 64bit isnt it?

If so, can my Delphi 64bit app run the 32bit dll or does it require the 64bit dll?

 

Share this post


Link to post
5 hours ago, ChrisChuah said:

Delphi can compile app into 64bit isnt it?

If so, can my Delphi 64bit app run the 32bit dll or does it require the 64bit dll?

 

64 bit app can run only 64 bit dll, and 32 bit app can run only 32 bit dll. But you can "connect" to 32 or 64 bit Com Object if it is out-of-process, from any process (both 32 and 64 bit).

Edited by DelphiUdIT

Share this post


Link to post

Thank you.

I managed to connect to the 64 bit dll file although the Delphi IDE registered the 32 bit dll as activeX component.

until now, i am still learning how to go about doing things in delphi

 

regards

chris

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×