GreatDayDan 0 Posted February 28, 2021 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
KodeZwerg 54 Posted February 28, 2021 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
GreatDayDan 0 Posted February 28, 2021 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
KodeZwerg 54 Posted February 28, 2021 (edited) 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 February 28, 2021 by KodeZwerg Share this post Link to post
dummzeuch 1505 Posted February 28, 2021 (edited) 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 February 28, 2021 by dummzeuch Share this post Link to post
KodeZwerg 54 Posted February 28, 2021 (edited) 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 February 28, 2021 by KodeZwerg Share this post Link to post
Daniel 417 Posted February 28, 2021 You might want to check the settings of the IDE. Look at the option "Unit scope names": http://docwiki.embarcadero.com/RADStudio/Sydney/en/Delphi_Compiler This should help your compiler to translate a "uses Classes" to "uses System.Classes". Share this post Link to post
dummzeuch 1505 Posted March 1, 2021 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
GreatDayDan 0 Posted March 1, 2021 Thanks for all the tips. I made sure that I have the unit scope names set. 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
Daniel 417 Posted March 1, 2021 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 Posted March 1, 2021 (edited) 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. NOTE: for inherit definitions, use "top level" of "TARGET" configuration: "ALL CONFIGURATION - ALL PLATFORMS" hug Edited March 1, 2021 by Guest Share this post Link to post