Registration of different versions of same ActiveX - delphi

I´m struggling with what is the best design for an ActiveX control in regards to its registration and reference.
One part of our software is based on ActiveX controls that are used on Internet Explorer and referenced by its GUID, and ActiveX control will make the connection to the server and will get the data (Live Images) from it.
The problem that I´m facing is that everytime that we update the server version we have to change the version of the ActiveX controls because there are usually new codes for client, so, the ActiveX of version 6.3 for example will not connect to a 6.4 server and must be updated
The thing is that, what is the best design to have different versions of the same ActiveX registered on the machine? Should I change the GUID of the ActiveX every new version???
I have searched a lot for this and couldn´t find anything satisfactory, and I can´t use the Registration-free COM because the ActiveX control is meant to be used inside Internet Explorer

Related

The source of any delphi component is unavailable in my IDE

I'm using delphi 2010, and in order to create components i'd like to see the source of delphi components such TEdit, TButton... But the problem is this option is unavailable in my IDE, the type of any added component is written in black (and not in blue so i can see the source). So how can i get this option?
Thanks for your replies.
You seem to be using either a trial version or starter edition of Delphi. The source is deliberately not available. You would have to acquire / pay for a higher edition of Delphi, such as Pro, Enterprise, Ultimate, or Architect.
If you wish to study how components / controls work, find a popular third-party one. For example, I've been experimenting with Chrome Tabs lately.

Referencing 3rd party components in Delphi 2005

I'm quite new to Delphi and I'm helping a team setting up a build server which are using Rad Studio 2005.
They have just bought DevExpress VCL and wants to use these. I would rather not have the component installed on the build server, but instead having them as a part of the source code and making sure that the project is using that version.
How is that done in Delphi?
We compiled all of our 3rd-party stuff into a BPL, then put that .bpl and corresponding .dcp and .dpr/.bdsproje into source control, so it gets delivered to the build server. Works well. In retrospect, it should have been a series of BPLs, divided by vendor, so that we could upgrade individual components/libraries without having to run regression tests on everything else.

C++ Builder XE2 - custom component as part of the project/project group

Is it possible to use custom component derived from default one to be visible only as part of the project? The advantage of this solution is that I need not to distribute source code of component separately from that of application. Also there is no need for other developers to always check if they have installed the latest version. I need not to manage various versions and copy them somewhere to share my changes with other developers in team (whether it be network disk or SVN server). They get new version with every SVN update from server.
If i used delphi there would be solution - interposer class but this is not applicable to me. MS Visual Studio has possibility to use component only as part of Solution (analogy to MS VS Solution is ProjectGroup in C++ Builder).
What you are asking for is only possible if the component is created dynamically at run-time only. If the component needs to be accessible at design-time, then it must be installed into the IDE before the project can then use it.

What is the "current" Delphi web app framework?

I'm looking at Delphi web server apps, and the first thing I notice when I go into the New Items dialog is that there are several different frameworks.
WebBroker looks the nicest from a conceptual standpoint, but in the documentation it looks like its DB and session-management code is tied to the BDE, which makes it somewhat less than useful today.
WebSnap looks very similar, but the documentation says it's deprecated and IW ("VCL for the Web") should be used instead.
So I look at IW, and I can't make heads or tails of how it's supposed to work. The sample code is full of stuff that looks like it belongs in a desktop app, like clicking a button to fire an event handler to change the caption of a form element. (Wouldn't that have to be done client-side in JavaScript if we're creating a webpage?)
So what's the current standard framework for building a web server in Delphi?
While there are several commercial options available for writing web apps with Delphi, in my opinion Delphi no longer ships with a modern web development solution included as part of the package.
If I had to give an answer to your question though I would say that the current out of the box Delphi web framework is WebBroker. WebBroker is the only web framework included with Delphi that isn't deprecated or restricted in its functionality.
WebBroker was introduced perhaps as far back as Delphi 4. It's a good honest work horse but it hasn't really been improved much since it was first introduced. It leaves you to do most of the heavy lifting but it also doesn't get in your way. WebSnap and IntraWeb were built using WebBroker as their foundation which gives you idea of the level of services it provides.
A full version of IntraWeb has been bundled with Delphi Enterprise for many years but as of Delphi XE it now has several limitations (no SSL, no ISAPI deployment, 20 minute idle timeout) that will very likely mean you'll need to buy a license from AtoZed to use it seriously.
The version of IntraWeb bundled with Delphi Pro has always been far too limited to be considered anything other than an evaluation version.
Old question but still deserves an up-to-date answer.
Current 'settled in' solutions are:
IntraWeb:
https://www.atozed.com/intraweb/
uniGUI:
http://unigui.com/
Introduction
uniGUI Web Application Framework extends Web application development experience to a new dimension. uniGUI enables Delphi developers to create, design and debug web applications in IDE using a unique set of visual components. Each component is designed to provide same functionality of its counterpart visual component in Delphi VCL. This provides a very comfortable development environment very close to native VCL application development with an easy learning curve. uniGUI Web applications can be deployed to a server using one of the available deployment options such as Windows Service, Standalone Server or ISAPI Module.
Product Highlights:
Based on industry's most advanced JavaScript library Sencha Ext JS.
Includes OEM license for Sencha Ext JS. (Please see licensing for details).
A unique platform to create stateful web applications.
Complete IDE support for creating projects, designing forms, frames and handling data modules.
Advanced support for scripting client side JavaScript events.
Library core is fully optimized to achieve highest level of scalability.
Including advanced Stress Test Tool utility.
Comes with various deployment options: ISAPI Module, Standalone Server and Windows Service.
Supported Delphi versions: Turbo Delphi Pro, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, XE2, XE3, XE4, X5, XE6, XE7, XE8, Delphi 10 Seattle, 10.1 Berlin, 10.2.3 Tokyo and 10.3.3 Rio (Win32 & Win64 platforms). (Linux support is in the roadmap)
C++ Builder supported.
Supported Browsers: IE 9+, Microsoft Edge, FireFox, Chrome, Safari and Opera
New state-of-the-art uniGUI HyperServer technology.
TMS WebCore:
https://www.tmssoftware.com/site/tmswebcore.asp
RADical Web
Modern SPA web application model
Pure HTML5/CSS3/Javascript based applications
Standard component framework for common UI controls and access to browser features
Debugging in Pascal code via the browser
Backed by a solid & proven Delphi Pascal to Javascript compiler that was years in development
Reuse skills and components Component based RAD development integrated
in the Delphi IDE A truly revolutionary & innovative TMS FNC component
framework that is now also web enabled, allowing to create UI controls
that can be used on VCL, FMX, LCL and WEB! Open to consume other
existing Javascript frameworks & libraries Open to use HTML/CSS for
design Open to use other jQuery controls or even other Javascript
frameworks Offers Pascal class wrappers for jQuery controls from the
jQWidgets library Easy interfacing to REST cloud services including to
TMS XData for database
Easy Deployment Application consists of HTML & Javascript files only
that can be easily deployed on any light or heavyweight webservers Use
any existing load-balancing software and/or techniques for highest
performance Small and convenient debug webserver is included for fast
RAD development
http://docwiki.embarcadero.com/RADStudio/en/DataSnap_Overview_and_Architecture
DataSnap has been there for a long time, and the latest releases is DCOM-free. You can utilize it to build up server side piece (S in both C/S and B/S). Its current role is almost like WCF in .NET world.
Then if you are building a web site front end, you can use IW. But DataSnap makes it even possible to build up front end using PHP or other web technologies.
https://github.com/relativ/pascalweb
PascalWeb use pascalscript compiler , you can create web app, like php or python

Running an ActiveX DLL in firefox

Hello Guys:
I have written an activeX dll in Delphi and I want to run in in firefox. How can I do that?
Is there anyway that I can make an .xpt directly form this dll or not?
I'm afraid there is no way to just make an .xpi directly from the DLL. An ActiveX control needs an ActiveX host which Firefox is not, by default. It seems it can be, however, with an installed plugin.
A quick Google search for "firefox activex" reveals:
ff-activex-host
Neptune
Mozilla ActiveX Project (seems abandoned but there's reference and source code for Firefox 1.x)

Resources