0

I'm trying to recompile an old Deplhi 5 project but I'm receiving a fatal error saying some of the files are missing.

I've found around 20-25 of the missing components on the Internet, but can't seem to find "LibIntf.pas". Where abouts can I find or download this missing file?

Rob Kennedy
  • 161,384
  • 21
  • 275
  • 467
  • 1
    Welcome to Stack Overflow. In addition to asking about *LibIntf.pas*, you asked how to get a list of used components, but I removed that since it's a separate issue from your first question. Please ask different questions separately; there's no limit to the number of posts you can make here. Before you post that question anew, though, you may wish to check out the answers to a previous question, [How can I find all the units in my Delphi app?](http://stackoverflow.com/q/731799/33732) – Rob Kennedy Aug 14 '12 at 15:23
  • i believe he just does not know that components are not units. He was not made two-in-one but just called units with wrong term. – Arioch 'The Aug 14 '12 at 15:24
  • 1
    Put minus: lmgtfy is not most tender place, but i pity it is banned on SO. When the first topmost google link contain the full answer, it seem well deserved to me. It is just ignorance from topic starter. – Arioch 'The Aug 14 '12 at 15:27

2 Answers2

4

If the compiler tells you you're missing LibIntf.pas, then you're not really missing anything. You're not supposed to have that file. That unit is provided by a design-time package distributed with the IDE. Code that uses that unit can only be used as part of another design-time package. To make it compile, your design-time package should have DesignIDE.dcp in its "requires" list.

Your license forbids you from distributing Delphi's design-time code. The "missing" package serves to enforce that rule. DesignIDE is only usable by other packages, not applications, so if your application tries to use any of its units (like LibIntf or DsgnIntf), then compilation will fail. You need to split the code that needs those units into a separate design-time package.

Rob Kennedy
  • 161,384
  • 21
  • 275
  • 467
  • +1. [This article](http://edn.embarcadero.com/article/27717) from Jeff Overcash of TeamB might help make the changes to separate design-time and run-time code easier. (It came out around the time the IDE started to enforce the segregation in D6, even though it had been implemented in D5.) – Ken White Aug 14 '12 at 23:57
0

1) do not mistake units and components. One unit may declare a hundred of components. So be clear about what your are searching.

2) Google. just Google. http://google.com/search?q=LibIntf.pas

The 1st link is in russian, the 2nd one is in English: http://delphigroups.info/2/54/173805.html

In short - you does not have the pas, you should enable runtime packages (if your project is EXE or DLL) and include designide.bpl (or was it designide50.bpl?) or add designide.dcp to Required section of project options (if the project is DPK)

Arioch 'The
  • 15,799
  • 35
  • 62
  • -1. #1 might be a good remark after answering the question, but isn't an answer. #2 is never valid here (and you know that - you commented on it above). Your final paragraph is wrong - enabling runtime packages is the wrong answer. The right one is to properly separate design-time and run-time code. – Ken White Aug 15 '12 at 00:00
  • hmmm, how can one use that unit without runtime packages ? what i remember of D5, there is neither PAS nor DCU file, only DCP and BPL. that's why simple file search coud not find the file for topic starter. If you want use the unit, that only is inside BPL file and no separate file available, how can u do it without Requires (for DPK) or Runtimes (DLL/EXE) ? – Arioch 'The Aug 15 '12 at 11:23
  • D5 shipped with full source code, just like all later versions except the personal editions. Delphi 1 was the only version that didn't ship with source; it was sold as part of an extra product. Rob's answer explains the exact solution, and the article I linked in my comment there describes step by step how to do so. – Ken White Aug 15 '12 at 11:37
  • Full source code of an VCL, but not those of IDE. Even your article claims that *Borland chose not to ship DsgnIntf.dcu with Delphi 5* and if they did not ship DCU then they surely did not ship sources as well. – Arioch 'The Aug 15 '12 at 11:39
  • That's what I said, **exactly**. There is no designide.dcu, and the solution to that is to **remove** designtime code from your runtime code, not to simply add runtime packages. In order to include designide in your app, you'd have to distribute with **designtime** packages, which is not allowed. Please read what I wrote (and what Rob wrote). I've discussed this long enough, anyway. IMO, your answer is wrong, and I downvoted for that reason. I was courteous enough to tell you why I was doing so (which many people don't, BTW); I was not offering to talk it over with you. :-) – Ken White Aug 15 '12 at 12:22
  • 1) i don't see anything about his project. In particular whether it gonna be distributed or not. 2) remember those *.int files in D5 ? even is he uses LibIntf and DesignIntf - he does not copy their code into his own application. So he is free to distribute it. It would be recipient's responsibility to have legal D5 installation to run the program. 3) while piracy theme is interesting per se, it was not the question asked. The question was technical, and the answer can be technically correct or technically incorrect. – Arioch 'The Aug 15 '12 at 12:44
  • Even if topic starter said he gonna make pirated Delphi copies, still the answer can be technically correct or not and legal issues are not to measure it. But the alleged piracy here is just your own prejudice. There is no mention that the program would be distributed. There is no mention that parts of Delphi like DesignIDE.BPL gonna be distributed. His project might be some IDE Expert for example. why not ? – Arioch 'The Aug 15 '12 at 12:46
  • "Distributed" means "run outside the IDE on another computer". Even if he copied it to his own laptop that didn't have the IDE installed, that's "distributed". Nobody mentioned "piracy" or anything else. I'm through discussing this with you. Your answer is wrong, for the reasons I mentioned in my very first comment. I'm finished here. – Ken White Aug 15 '12 at 13:25
  • Topic starter did not stated he want his project executed "on another computer" or even "outside the IDE". Those both claims are merely a prejudice of yours. I'm finished as well. – Arioch 'The Aug 15 '12 at 13:44