Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Compatibility/BCB<->Delphi    [ Add a report in this area ]  
Report #:  71932   Status: Closed
Proxies.dcu missing
Project:  C++Builder Build #:  12.0.3210.17555
Version:    12.1 Submitted By:   Alain Bourgeois
Report Type:  Crash / Data loss / Total failure Date Reported:  3/4/2009 8:45:27 AM
Severity:    Serious / Highly visible problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    32 Bit Internal Tracking #:   268420
Resolution: Test Case Error (Resolution Comments) Resolved in Build: : 12.0.3337.19646
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
I try to migrate a old component to bcb 2009.
->
Uses
  Dialogs, designintf, AdCalSet, AdDateTm, AdDtEdit; { TAdrockDateTimeEdit Component Editor Form }

{ TAdrockDateTimeEditEditor }
type
  TAdrockDateTimeComponentEditor = class(TComponentEditor)


-> He claims he cannot find TComponentEditor, although designIDE is in required packages.

It is defined in designEditors.pas. If I add designEditors to project, he claims he needs proxies.dcu.
There is a proxies.hpp, why is proxies.dcu not included????
Steps to Reproduce:
Uses
  Dialogs, designintf, AdCalSet, AdDateTm, AdDtEdit; { TAdrockDateTimeEdit Component Editor Form }

{ TAdrockDateTimeEditEditor }
type
  TAdrockDateTimeComponentEditor = class(TComponentEditor)


-> He claims he cannot find TComponentEditor, although designIDE is in required packages.

It is defined in designEditors.pas. If I add designEditors to project, he claims he needs proxies.dcu.
Workarounds
None
Attachment
radstudio.zip
Comments

Tomohiro Takahashi at 3/5/2009 8:21:45 PM -
Please see this KB.
[DesignIntf.dcu and Proxies.dcu not found.]
http://support.codegear.com/article/37107

Alain Bourgeois at 3/6/2009 12:24:53 AM -
1. I tried to add -LUDesignIDE  in delphi compiler options: no change.
2. The option "Use these packages when compiling" is no more available in bcb 2009.
3. designide is listed in runtime packages

1. I don't understand: how is it possible that an original vcl unit (designeditors.pas) references another MISSING unit (proxies.pas)? Wouldn't it be easier to provide this unit?

2. Let's suppose I cannot include designeditors in my uses clause, how do I declare the TComponentEditor definition in my unit?

Regards,
Alain

Tomohiro Takahashi at 3/7/2009 4:23:38 AM -
Could you please attach sample project to reproduce your issue?

Alain Bourgeois at 3/9/2009 2:34:22 AM -
unzip attach under rad studio directory.
open Adrock.cbProj.
Make a build, he will show you unit and error. You can add designeditors if you want to see error with and without this include.

Regards.

Tomohiro Takahashi at 3/9/2009 7:25:05 PM -
Hi,
I can not download your project files due to its size...
So, could you please attach simpler sample project?

Alain Bourgeois at 3/12/2009 6:33:50 AM -
http://edn.embarcadero.com/article/38475
-> If you look at the end of the article, it seems I'm not the only one that doesn't find the Use these packages when compiling options.
(of course, the question is readable, the answer not! )

Alain Bourgeois at 3/11/2009 5:57:44 AM -
File->New->Package c++ builder.
Add unit toto.pas to the project:
-----
unit toto;

interface

Uses
  Dialogs, designintf, designeditors;

type
  TAdrockDateTimeComponentEditor = class(TComponentEditor)
  function GetVerbCount: Integer; override;
end;
implementation

function TAdrockDateTimeComponentEditor.GetVerbCount: Integer;
begin
  Result := 2;
end;

end.
------
Add to the project:
c:\program files\codegear\rad studio\6.0\source\toolsapi\designeditors.pas
c:\program files\codegear\rad studio\6.0\source\toolsapi\designintf.pas

try to compile! Good luck


Tomohiro Takahashi at 3/12/2009 8:40:32 PM -
Hi,
> Add to the project:
> c:\program files\codegear\rad studio\6.0\source\toolsapi\designeditors.pas
> c:\program files\codegear\rad studio\6.0\source\toolsapi\designintf.pas
These Steps are not needed.


I tried to add '-LUDesignIDE' to Project | Options |  Delphi Compiler | Compiling | Other Options | Additional switches to pass the compiler.  But, I got a linker error as below.
[ILINK32 Error] Fatal: Unable to open file 'DESIGNEDITORS.OBJ'

Then, I added 'designide.pbi' to the project. But, I got another linker error as below.
[ILINK32 Error] Fatal: Unable to open file 'DIALOGS.OBJ'

Finally, I added 'vcl.bpi' to the project. Compiling has be done without no error.

Please try my Steps as workaround.
Thanks.

Alain Bourgeois at 3/17/2009 7:11:41 AM -
OK it works now.
I had to :
* remove designintf.pas and designeditors.pas from project
* leave uses clause in the code
* add designIDE to required packages
* add as compiler switch -LUDesignIDE in debug mode AND in release mode separately. Adding this switch in "base" mode has no effect.
problem is solved

Hartmut Lemmel at 11/12/2009 12:27:13 AM -
Comment: In BCB2010 it works to add -LUDesignIDE only in base mode.

Alain Bourgeois at 3/10/2009 9:46:51 AM -
it will be difficult.
I found a nearly useful note on http://support.codegear.com/print/38488#13UtilisationdesoutilsDelphiDesignIntfetDesignEditors
-> It holds:
"Utilisation des outils Delphi DesignIntf et DesignEditors
Si vous créez un package C++ contenant une unité Delphi qui utilise les outils DesignIntf et DesignEditors, vous devez choisir Projet > Options > Compilateur Delphi > Autres options. Dans Utiliser ces packages lors de la compilation, ajoutez DesignIDE dans la boîte à options. "
Translation:
"Using tdelphi tools DesignIntf and DesignEditors"
If you create a package c++ component with a delphi unit using DesignIntf and DesignEditors, You must choose Project > Options > Delphi Compiler Delphi > Other options. In  "Use these packages when compiling", add DesignIDE to the options box.

Problem: in Project > Options > Delphi Compiler Delphi > Other options, there is no "Use these packages when compiling" option.

David Dean at 3/20/2009 12:50:34 PM -
The following compiles without error. designintf in used by designeditors, so is not needed here.

unit Unit4;

interface
Uses
  Dialogs, designeditors; { TAdrockDateTimeEdit Component Editor Form }

{ TAdrockDateTimeEditEditor }
type
  TAdrockDateTimeComponentEditor = class(TComponentEditor)
end;
implementation

end.

Alain Bourgeois at 3/23/2009 12:58:09 AM -
Please see my post from 17/3/2009, problem is solved.

Server Response from: ETNACODE01