Jump to content
GreatDayDan

JEDI files cannot find windows files

Recommended Posts

After reinstalling Delphi CE 10.3 the Jv files, at least some of them, cannot find the windows files.

The first error I get is [dcc32 Fatal Error] JvComponentBase.pas(37): F2613 Unit 'Classes' not found.

I had Getit install Jcl & Jvcl.

I have even put the latest release of the JCL and JVCL in the CatalogRepository and renaming them to the names that Getit used.

Does anyone know how to fix this?

BTW, Since Yahoo has gotten out of the Groups business we no longer have access to the JEDI news lists.

 

Thanks...Dan'l

Share this post


Link to post

Just a guess, no professionell answer.

(I do not use JEDI)

Try open the first file that complain to compile.

Modify 'uses' part with better name.

Example:

Uses Classes;   <- before

Uses System.Classes;    <- after

 

Try compile again, if it does not complain modified file anymore, you know what to do.

 

As said, just a wild guess.

Share this post


Link to post

I tried that road. It was an endless trail of Jv files that need to be updated. Finally figured that JEDI was not installed properly.

Share this post


Link to post

Okay, sad to hear 😞

 

Github say latest release is from 2015.

 

My second wild guess would be looking for a more uptodate fork.

 

 

May the fork be with you.

Edited by KodeZwerg

Share this post


Link to post

You either need to add those prefixes to all units or alternatively add them to the name space prefixes list of the packages. I'd probably go for the latter.

 

But on the other hand I wonder why those packages don't already contain them. These prefixes have been around for ages.

Edited by dummzeuch

Share this post


Link to post

3rd wild guess:

 

Re-Installed Delphi....

 

I wonder if there is some old data in registry or file system conflicting installation to work properly?

Edited by KodeZwerg

Share this post


Link to post
11 hours ago, dummzeuch said:

name space prefixes

 

10 hours ago, Daniel said:

Unit scope names

Damn, I never get the name of that setting right.

Share this post


Link to post

Thanks for all the tips.

I made sure that I have the unit scope names set.

image.thumb.png.a8014ccdcc97a05e72980b86503db915.png

Now, this bit of code 
function TJvMetricsInfo.GetACP: Integer;
begin
  Result := Windows.GetACP;
end;

[dcc32 Error] JvComputerInfoEx.pas(3456): E2003 Undeclared identifier: 'Windows'

Any ideas on how to fix this?

It seems to me that the JEDI code should already have code scope figured out.

Share this post


Link to post

In recent Delphi-versions the function "Windows.GetACP" does not exist anymore under this scope. The windows-scope is now called "Winapi.Windows", therefore the full-qualified function-name is now "winapi.windows.GetACP". That should compile.

 

But - are you really sure that you don't have a toxic mixture of old and new versions from Jedi? The stuff from GetIt usually works out of the box and the errors you see there are suspicious. GetIt may have it's rough edges, but actually not this rough.

Share this post


Link to post
Guest
2 hours ago, GreatDayDan said:

  Result := Windows.GetACP;
[dcc32 Error] JvComputerInfoEx.pas(3456): E2003 Undeclared identifier: 'Windows'

Any ideas on how to fix this?

It seems to me that the JEDI code should already have code scope figured out.

---> founded on: function GetACP; external kernel32 name 'GetACP'; = Winapi.Windows.pas, line: 38068

 

sometimes you can do the references on: "Unit Alias" on project "Options"

 

Useful for backwards compatibility. Specify alias names for units that may have changed names or were merged into a single unit. The format is

<oldunit>=<newunit>

For example:  Forms=Xforms

 

Separate multiple aliases with semicolons. The default value for Delphi is WinTypes=Windows;WinProcs=Windows.Default. The "..." pop-up button opens an <ordered-list> dialog box for selecting and adding unit aliases, as described in Common Items on Project Options Pages.

 

image.thumb.png.d73d77da891a64b96525877e5819cb65.png

 

NOTE: for inherit definitions, use "top level" of "TARGET" configuration: "ALL CONFIGURATION - ALL PLATFORMS"

 

hug

Edited by Guest

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

×