Hi Samuel,
>I trying to move from D7 to D2006 and found out that most of us > did not understand how the naming of package should have been done. > > Now it is to late and we are forever bound to that. > > rule 1.) No package-filename (.dpk) should include any reference to a > Delphi Version. So "PackageXYZ_D7.dpk" > > Anyone else has a comment about that ?
In early versions of Delphi, you pretty much had to put the VCL version number into the name of the package. This was because if you were going to support multiple versions of the VCL then you needed to create separate BPL files for each version of the VCL.
Starting with Delphi 6, you can use a single DPK file without reference to the VCL number and then use the {$LIBSUFFIX } directive to have the output BPL file include the appropriate VCL version. The other nice benefit of this is that the DCP file for the package does NOT include the VCL version. Therefore, any packages that require your package, do NOT need to be edited when recompiled for a new version of Delphi.
For example, for our Raize Components product, the following files are used:
Package Source Files: RaizeComponentsVcl.dpk RaizeComponentsVclDb.dpk
Package DCP files: One set created for each version of VCL Lib\Delphi7\RaizeComponentsVcl.dcp Lib\Delphi7\RaizeComponentsVclDb.dcp Lib\BDS2006\RaizeComponentsVcl.dcp Lib\BDS2006\RaizeComponentsVclDb.dcp . . .
Package output files: RaizeComponentsVcl70.bpl RaizeComponentsVclDb70.bpl RaizeComponentsVcl100.bpl RaizeComponentsVclDb100.bpl . . .
Ray