Hi guys,
I'm currently switching to dcc32 and "make" to build my packages. As I
learned from various posts in the newsgroups, I also need to manage
version info in an .rc file now, since the .dof file is IDE-only.
But how do I tell the IDE to stop "including version information" in my
projects? The corresponding checkbox in the project options is greyed
out (and its mark is set, of course)?
Any idea what else I have to do to throw it out?
Thanks in advance for any pointers,
Stephan
"Stephan" <cyber.mail7...@xoxy.net> schrieb im Newsbeitrag
news:4122fc28$1...@newsgroups.borland.com...
thanks for your email.
> right it stands in the dof file from your project. and this version info is
> compiled into your projects res file. if you have a resource
> workshop/builder or any other app you can open it and delete the version
> info. or you make your own project rc file with no version info. if that
> file is compiled to your project res it should have no verion info.
I realize what I would have to do in order to get the version info into
my project via an .rc file, but the problem is, I can't get the version
info out of the .dof file:
How do I uncheck the checkbox "include version information in project"?
(see screenshot in borland.public.attachments)
I thought this option corresponds to the
"IncludeVerInfo" parameter in section "Version Info" of the .dof file,
but setting IncludeVerInfo=0 didn't help. Building the package twice
reintroduces the evrsion info into the .res file...
What else can I do?
All the best,
Stephan
maybe this helps?
"Stephan" <cyber.mail7...@xoxy.net> schrieb im Newsbeitrag
news:4123240b$1...@newsgroups.borland.com...
thanks again for your fast reply.
> but if
> you delete the two section in your dof file and delete the res from your
> project, the version info is gone.
Here's what I tried now several times:
- Delphi is shut down
- delete mypackage.res and mypackage.dsk files
- delete line {$R *.res} from mypackage.dpk
- delete sections "Version Info" and "Version Info Keys" from mypackage.dof
- start Delphi 6, load mypackage.dpk
- look at "Project options" -> "Version info": pretty empty, *BUT*
"include version information in project" checkbox is *still* selected,
but grayed out.
- click "cancel" (important!)
- build project, quit Delphi, looks good: no version info in
mypackage.bpl, no mypackage.res file created, no {$R *.res} line added
to mypackage.dpk, no version info sections in mypackage.dof
- run Delphi again, look at "Project options" again, change from
"Version info" tab to any other (like "Directories/Conditionals"), this
time press "o.k.", but *without changing anything* => Delphi recreates
mypackage.res!
- build project, quit Delphi, everything is a mess again: mypackage.bpl
contains (pretty empty) version info, mypackage.res file is recreated,
{$R *.res} line has been added to mypackage.dpk, mypackage.dof contains
IncludeVerInfo=1 in section "Version Info"
I'm afraid there's something going on I really don't understand...
Thanks for the hint about trying this with a new project, but I really
need to figure out how to do this with existing projects (.dpks).
Any other ideas? :-)
Stephan
If it's grayed out, then that means you've changed the "{$R *.RES}" line
in your DPR file. Put that line back in, and the check box will be
operational again. It must be *.RES; if you change it to the actual name
of the resource file, the IDE won't recognize it as special, and the
check box will be disabled.
--
Rob
thanks for your reply.
> If it's grayed out, then that means you've changed the "{$R *.RES}" line
> in your DPR file.
In my case, it's a .dpk file, but I guess that shouldn't make any
difference.
> Put that line back in, and the check box will be
> operational again. It must be *.RES; if you change it to the actual name
> of the resource file, the IDE won't recognize it as special, and the
> check box will be disabled.
That's the weird thing, I *do have* the line {$R *.RES} in my .dpk file
(checked and tested a million times), but the checkbox is still grayed
out, and selected.
Stephan
When you remove that line, is your package still being generated with
version information? If so, then the information is coming from
somewhere else since it can't be from a resource file that isn't being
linked in.
--
Rob
> When you remove that line, is your package still being generated with
> version information?
no, but as soon as I go into the "Project options" again, no matter
which tab, not changing *anything*, then click "o.k." instead of
"cancel", Delphi recreates the .res I deleted manually earlier and puts
the {$R *.res} line back into the .dpk file (see also my longer
description in the same thread dated 1.05pm yesterday).
Stephan
> you can test it with a new project.
try this: create a new (empty) package, go to "Project options",
"version info" tab: the check box "include version information in
project" is already checked, but grayed out. I've tested it with D5 - D7.
Is that the same for you?
Stephan
"Stephan" <cyber.mail7...@xoxy.net> schrieb im Newsbeitrag
news:412496d4$1...@newsgroups.borland.com...
thanks for your reply.
> it seems that a package should/must have a version info.
Exactly, but why can't I add it via a resource file, just like I can do
for an EXE or a regular DLL I create with Delphi? Don't forget, if I'm
limited to the IDE's (.dof file) version info, I can't use a
dcc32.exe-based build process for this (unless I'm overlooking something
here)!
> but if delete rows
> in the project dof, open the res with a resource editor and delete the
> version info there too, and then build the package the version info is gone.
> and if you open the options and click ok, the info is back.
That's exactly the behaviour that seems fishy.
> but i don't
> understand why it is so important that the package shouldn't have a version
> number?
It should, but I need it to come from an .rc file of my own making, so
dcc32.exe understands it. Which professional program developer relies on
point-and-click manual IDE interaction to do a master rebuild for a
dozen packages under several Delphi versions before a software release??
> its only a number and doesn't realy matter for normal cases. why
> don't you let there version 1.0.0.0 and ignore it?
:-) Ever heard of DLL hell? Not versioning DLLs is on the top list of
"bad things to do" under Windows. How does the installation program
judge whether the installed version of a DLL/BPL is an older or newer
version than the one you're trying to install? Every executable code
module stored in a non user-only directory should be versioned properly.
All the best,
Stephan