We have a huge app that uses ChartFX 4.0 a lot and we're migrating from Delphi6 to XE4. The programmer mainly responsible so far has basically created a new package for the ChartFX components and has successfully installed it on his machine, and has tested a lot of the code that uses these components. Every thing looked great at this point. Then he tried rebuilding/installing/testing on a couple of other machines - XE4 throws a designtime license not found error when he opens a new project and tries to place a chart object on the form. All machines have a licensed copy of chartFX 4.0 installed.
Any ideas?
You need to locate and transfer the CFX*.lic file (it's the development license for the .OCX file). In Delphi 7, it's CFX32.lic, and it's located in the %WINDIR%\System32 folder.
Related
Both files were not found during the compile process on one dedicated system with Delphi 10.4 and Windows 11.
The complete project has been compiled w/o problems on others systems using Delphi 11 and Delphi 10.3 and Delphi 10.4.
Following the solution from here (https://www.youtube.com/watch?v=l3_UVhBbP1s), adding the lib path (e.g. C:\Program Files (x86)\Embarcadero\Studio\21.0\lib\win64\release) to the project will not work for us, as we use different Delphi compiler versions inside our team.
Any more general solution for this problem?
Remark : using different compiler's worked before. This error appeared just a few days ago, we don't know what is really changed
I have taken a look at these URLs:
check if runtime installed
https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution
some sample code assuming newer Delphi
Using WebView (EdgeHTML) in Delphi / C++ Builder
some sample code assuming newer Delphi
WebView2 (TEdgeBrowser) updated Delphi interface (e.g. ICoreWebView2Controller2)
Yet even those seem to assume a newer Delphi version than I use (XE4) ... and preferably I would like Lazarus support as well. At the same time I really love being able to use "newest available patched system browser" which is why I am not jumping on https://github.com/salvadordf/CEF4Delphi albeit it may end up being the final solution.
Is there anyone else who has begun the undertaking of implementing webview2 on older versions or is this simply impractical due to type libraries not being importable etc? (i.e. major headache in converting, implementing and testing everything, furthermore on old Delphi versions)
I recently published WebView4Delphi at GitHub with an MIT license.
WebView4Delphi uses the WebView2 runtime to embed Chromium based browsers in Delphi and Lazarus applications.
It was developed in Delphi 11 but it also works with Delphi XE3.
I have to update a Delphi XE installation for a project to a newer version of Delphi but I don't have much experience with Delphi, the problem is there are plenty of old packages and components in there.
When I install a new version did I have to install all components again (if it possible to install it in this new version) or is it something like an update to my old installation and all installed stuff is now in the new version also?
Updating a Delphi XE application to a newer Delphi is usually quite easy. The only serious issue could be third party components which you must install in the newer Delphi version. Check with each component vendor that a version exists for your target Delphi version.
I always strongly recommand to NOT use any third party component that has no source available. Also don't buy any third party component using a DLL, OCX or other external binary object.
When you buy a third party component, always buy the source code with it. Then throw away any pre-build package or dcu and recompile everything before any serious use. That way you'll be sure to have all required source code and work with that source code.
Once you have the source code, it becomes much easier to port to the next Delphi version. Usually there is just nothing to change (There was only one notable exception in the past between Delphi 2007 and Delphi 2010 when Unicode string were introduced).
When there is something to change, it is usually only the name of a "used" unit. Somtimes Embarcadero move one class from a unit to another one. Sometimes, you have to change a $IFDEF which specify a Delphi version. Look at {$IFDEF VER180} and similar to adapt to you current version (See the online help for such symbol).
And if you still have issues, then ask here...
Upgrading to newer version of Delphi might not be a trivial task.
First problem you will run into are Thid Party Components.
If you don't own the souce code for them it means that they come with precompiled packages and these packages unfortunately arent compatible between different Delphi versions.
If you do have source code for them you might be able to recompile them on newer Delphi versions but this might require you to do some code changes.
So I strongly recomend you first check to see if there are updated versions of these components available that support the Delphi version to which you are planning to upgrade.
For instance if your application relies on BDE (Borland Database Engine) that shipped with older versions of Delphi you Will be forced to do Quite some changes to properly set up the FireDac database framework that ships with newer delphi versions.
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.
I just bought and installed Delphi XE and was hoping to compile my old D7 project there.
However, I hava a source file that "uses QForms" and that generates a "file not found: qforms.dcu" and I can find no relevant reference to what to do about that file googling around...
Any idea how to solve it?
Rgds
PM
QForms is from CLX, the Qt based cross-platform library that was introduced with Delphi 6/Kylix. So far as I know, CLX is no longer shipped with Delphi.
You need to do one of the following:
Stick with Delphi 7.
Port the code to VCL. This will tie you to the Windows platform.
Get Delphi XE2 and use FireMonkey since clearly at some point in time this code was intended to be cross-platform.