We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

Installing Components

Socrates050697
on
Medium Priority
301 Views
Last Modified: 2010-04-06
 When Delphi is first installed on my machine everything runs smoothly. When I Install a new component on the VCL there are no problems, until:

  Without warning a component refuses to install for no apparent reason and I am given the explanation by Delphi:

  Fatal Error: C:\program files\borland\delphi2.0\bin\cmplib32.dpr(79): File not found: 'WinTypes.pas'.

  After this event has occured, just about any subsequent attempt to install a component results in the same problem, even those that have successfully installed on previous Delphi Instalations. The only solution I have found to this problem is to uninstall Delphi and then reinstall it and all my components. This is VERY boring and time consuming.

  My question is: Is this a known bug? What is 'WinTypes.pas' and why does it never seem to exist on my machine, yet appears in uses clauses? and most importantly
  Is there a better fix, or do I have to keep reinstalling Delphi?

  Help Me Please, Socrates.
Comment
Watch Question

Commented:
In Delphi 1, the WINDOWS.PAS unit was split into WINTYPES and WINPROCS.  The component you're installing doesn't have conditional compilation built-in to support the different Delphi versions.  You can get around this by setting Aliases in your Project Options dialog.  On the Directories/Conditionals tab (I'm using D3, I think it had the same name in D2) add the following to the Aliases combobox:

WinTypes=Windows;WinProcs=Windows;

That should take care of it.  Beware of poorly written components out there.

Author

Commented:
 Thanks for the advice, but the problem seems to persist, even when the aliases are set. The problem doesn't seem to be specific to certain components, rather something thet Delphi (V2.0) is experiencing. I'd presume that it was just my machine, but two people in my office have suffered heavily from it.
  In that the file 'WinTypes.pas' still cannot be found, when the alias WinTypes=Windows exist, what else might the problem be? My suspicions are that the CompLib32.dpr file is becoming hopelessly corupted, does this sound plausible?

  Socrates.

Commented:
Hmmm.  Couple questions:

1.  Does D2 work fine without installing any other components?

2.  Are you using a shared network install of D2?  (Doesn't seem likely from your message, but...)

3.  Is your environment PATHing right?  Particularly your Search Path and Library Path?

As for the CompLib32.DPR becoming corrupted, I've heard of it happening (not to me), but doubtful after a fresh install and on multiple machines.

Author

Commented:
 AAAAAAAARRRRRRRRGGGGGGGHHHHHHHHH, its just done it again.

  OK, in answer to your questions:

  1) Yes, it seems to, allthough It's hard to say, because my current project requires that I install about 10 components (mostly my own [perfectly written]).

  2) No.

  3) Yes, (when you remove a component form the dialog, it does not remove it from the search path, you have to do it manually).

 
  I've just installed my own component, inherited from a TPanel, and with NOTHING extra, no methods, no properties, just:

  TPanelDerived = class(TPanel)
  end;

  And the same thing happened, Delphi is messing around with my sanity. Now nothing else will install, and I'm forced to reinstall delphi (5 times in three days, including Reinstalling Windows once).

  Am I really the only person to experience this problem? Have I upset some God, who is seeking retribution? Do I have a messed up copy of Delphi? Does this problem stop occuring when my new version of Delphi3 arrives on Monday?

  If you think you have any answers, then I'm eager to hear them. Admittedly my question did appear to be solvable by setting the aliases, but I'd already checked that. I figured that since this problem occurs to me so frequently that someone else must have experienced it. For that reason, I'm going to reject your answer now so that if anyone else has experienced my problem, they can answer the question. If no one has done so in about a week or so then I'll invite you to re-answer the question, so that I can grade you. Thanks for your help, please interpet this rejection as indication of my deseration for an answer, rather than a reflection of my opinion on your assistance, and if you have any new ideas in the next week then PLEASE let me know.

  Cheers, Socrates.

Commented:
No offense taken.

D3 handles component installation very differently.  Rather than compiling your components into a single library you can add them in as packages (which can be both runtime or design time).  Since you use so many third party components (note:  many of which may need to be updated) I recommend you take a good long look at the docs on Packages before proceeding.

Scott

Commented:
Sometimes I also got that problem, it seems like there is to many installed components. When I uninstall some other components it works fine.

Chr

Commented:

I remember reading somewhere that Delphi didn't like it if the search path got too long.  Try making a single lib directory for all the new components.  

Shaun

Commented:
With me it happend when the searchpath got to long, so I think you have right :)
CERTIFIED EXPERT

Commented:
 I concur with the above comments. The same problem haunted me for months. I stumbled on the solution accidentally. It seems to me that if the search path excedes 512 characters then things collapse exactly as you've described. Try putting all your components in one directory to reduce your search path length.

  Steven.

Author

Commented:
 You all have my eternal gratitude, this solution seems to have worked. My only problem now is who to grade. After some deliberation I have decided that 'flisakow' probably was the first to suggest the answer, namely the search path length. If they'd like to submit an answer, then they will be duely rewarded.

  THANKS to everyone who contributed, Socrates.
Commented:
Okay, here it is.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
Sorry that took me so long. Heres your points.

Socrates
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.