Installing Components

 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.
LVL 1
Socrates050697Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

brittainCommented:
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.
0
Socrates050697Author 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.

0
brittainCommented:
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.
0
Build an E-Commerce Site with Angular 5

Learn how to build an E-Commerce site with Angular 5, a JavaScript framework used by developers to build web, desktop, and mobile applications.

Socrates050697Author 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.
0
brittainCommented:
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
0
chrbCommented:
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
0
flisakowCommented:

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
0
chrbCommented:
With me it happend when the searchpath got to long, so I think you have right :)
0
StevenBCommented:
 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.
0
Socrates050697Author 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.
0
flisakowCommented:
Okay, here it is.

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Socrates050697Author Commented:
Sorry that took me so long. Heres your points.

Socrates
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.