Deployment question

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Deployment question

Bruno Brasesco
Hi,

I have a ListView with a lot of ListViewColumns.
The ListView is sort by some ListViewColumn (ex: name, number, etc).
Windows display some kind of Triangle that indicates the sort column
(selected column).
But when I deploy my image there's no Triangle icon to indicate the sort
column (appears a help icon).

This happend with False icon that I use in my application.

Any idea ?

Why this icnos are removed by the ImageStripper ?

Best Regards
Bruno Buzzi Brasesco


Reply | Threaded
Open this post in threaded view
|

Re: Deployment question

Keith Alcock-3
Bruno,

The icon resources are not really part of the image and aren't stripped, nor are
they part of the executable.  Instances of class Icon only refer to a resource by
keeping track of the file name and resource ID, etc.  The problem is probably that
an instance of class Icon refers to a resource in an external file (icon.ico, for
example) that can't be found by the deployed application.  Often one needs to
create a subdirectory called resources where your application is and put the icon
or bitmap in there.  It depends on where the icon came from, though.  Hope that
helps.

Keith Alcock



Bruno wrote:

>
> Hi,
>
> I have a ListView with a lot of ListViewColumns.
> The ListView is sort by some ListViewColumn (ex: name, number, etc).
> Windows display some kind of Triangle that indicates the sort column
> (selected column).
> But when I deploy my image there's no Triangle icon to indicate the sort
> column (appears a help icon).
>
> This happend with False icon that I use in my application.
>
> Any idea ?
>
> Why this icnos are removed by the ImageStripper ?
>
> Best Regards
> Bruno Buzzi Brasesco


Reply | Threaded
Open this post in threaded view
|

Re: Deployment question

Ian Bartholomew-14
Bruno,

Keith is right about the icon being stored outside of the deployed
application.

In Dolphin the icons are stored in a file named something like
dolphindr005.dll (dr for dolphin resources IIRC, the 005 for Dolphin 5)
which is redistributable with your application. The easiest thing to do is
copy this file into the Windows folder of your machine where it can be found
by all deployed applications that need it but, I think, that just putting a
copy in the same folder as the executable itself also works.

In Dolphin XP you have another choice that might work - create a ToGo
application. This includes all the icons needed by a normal deployed
application, such as the triangles, but I'm not sure about the "odd" icons
like the False one you mentioned which might still need dolphindr005.dll

Regards
    Ian


Reply | Threaded
Open this post in threaded view
|

Re: Deployment question

Blair McGlashan
"Ian Bartholomew" <[hidden email]> wrote in message
news:ILXN8.5068$xU5.496260@wards...
> ...
> In Dolphin XP you have another choice that might work - create a ToGo
> application. This includes all the icons needed by a normal deployed
> application, such as the triangles, but I'm not sure about the "odd" icons
> like the False one you mentioned which might still need dolphindr005.dll
>

When deploying a ToGo app. one can also edit the standard executable stubs
to include the resources one wants using a resource editor such as
reshacker. I've pasted below some (slightly amended) instructions issued
during beta testing.

Steve Waring has some great little demos that show what you can do with a
little SOAP and Lagoon water (groan :-)). See:

http://www.dolphinharbor.org/dh/projects/spray/apps/index.html

I did think that Steve had written up something on the wiki about his
experiences deploying ToGo app's, but I can't seem to find it so perhaps I
dreamed it :-).

Regards

Blair

--------------------
... you can include whatever icons you need. Here's how:

1) Acquire a resource editor. Microangelo is a good shareware example. If
one has VC++ one can use that. Then there are freeware tools such as
"Resource Hacker" (ResHacker).
2) Extract the icons you need from DolphinDR005.dll (or some other source,
or paint them up) using the resource editor.
3) Make a copy of the the relevant "to go" stub (e.g. GUIToGo.exe).
4) Edit the copy of the stub using the resource editor, and add the icons,
giving them the id's used in the Dolphin image (we usually use a string ID
of the form "<class name>.ico", but this is primarily to allow the icon to
be overridden by a file of that name, and any string or integer id can be
used).
5) Configure the ImageStripper of the application package to use the custom
stub: Inspect the properties of the package and drill down to the
ImageStripper (or use the 'Custom Options' button in the Lagoon wizard), and
set the stubFilePath aspect to the path to the custom stub (tip: Double
clicking the aspect opens a File browser dialog).
6) By default a run-time app. will still attempt to load its resources from
DolphinDR005.DLL (which makes it easy to deploy a simple app. that uses only
standard Dolphin resources as one can just ship the resource DLL with it).
To access resources from the deployed executable itself one must override a
minimum of one method in one's SessionManager, as follows:
    defaultResLibPath
        ^self argv first

One can also replace/edit any of the standard resources such as the main
.exe icon, though it is not a good idea to delete things. Note that in D5 it
does not matter if the size of the stub is changed by editing the resources.

This should only be a few minutes work and need only be done once no matter
how many times the executable is deployed, though of course it will have to
be repeated if and when we issue new stubs (not a frequent occurrence).


Reply | Threaded
Open this post in threaded view
|

Re: Deployment question

Bruno Brasesco
Thanks to everyone

I thought that "To Go" option includes every required resource, but i copied
.DLL file and work ok.

Best Regards
Bruno Buzzi Brasesco