K
Keith Tromer
Hi,
I have a COM add-in that uses (and sets references) to other libraries. The
one causing me issues is Photoshop scripting. I can set references just
fine. My problem is I am trying to make the addin work for both versions 7
and 8 (CS) of Photoshop. The scripting pluging for Photoshop is an .8LI
file (photoshop plugin) that lives under the Program Files\Adobe\Photoshop
[ver]. The plugin gets properly registered and is available in the
references list as Adobe Photoshop [ver] Object Library. But they both use
the generic name 'Photoshop.Application.' The libraries are similar enough
that I can program for either library. I would think that I can compile
with either version and if a user has the other version, it would find it,
because it has the same name (I cannot set a reference to both -- same
name). But it can't find it for some reason... These are the options I
think I have right now, but I get stuck in each instance:
OPTION 1
don't set reference and use CreateObject instead. I guess this would enable
having one compiled app work for both PS versions BUT...
1. I dim other object for example psDoc as Photoshop.document, I (think) I
can dim these as variants, right?
2. This is the one I can't get around, I use the enum in my programming,
i.e.:
Dim extType As Photoshop.PsExtensionType
extType = psUppercase
I would have to go through and recreate all the global enums (correct
term?) manually -- OR -- is there some kind of DEFINES file I can include?
OPTION 2
Set reference to 7.0 Object Library -- Compile -- then change reference to
8.0 Object library -- compile another version and selectively install the
correct version.
My problem here is this... I have 7.0 and CS installed on the programming
machine. (I installed 7.0 AFTER CS - don't know if that's the problem). I go
to references and unCheck 8.0, click OK, go Back to references and Check 7.0
Object library and click OK. If I know go back to the references dialog, it
seems to have automatically changed the reference back to 8.0... Why is
that? This is now STOPPING me from compiling a version for 7.0?
Can anyone shed some light for me here? Or recommend another forum to ask?
Thanks,
Keith
I have a COM add-in that uses (and sets references) to other libraries. The
one causing me issues is Photoshop scripting. I can set references just
fine. My problem is I am trying to make the addin work for both versions 7
and 8 (CS) of Photoshop. The scripting pluging for Photoshop is an .8LI
file (photoshop plugin) that lives under the Program Files\Adobe\Photoshop
[ver]. The plugin gets properly registered and is available in the
references list as Adobe Photoshop [ver] Object Library. But they both use
the generic name 'Photoshop.Application.' The libraries are similar enough
that I can program for either library. I would think that I can compile
with either version and if a user has the other version, it would find it,
because it has the same name (I cannot set a reference to both -- same
name). But it can't find it for some reason... These are the options I
think I have right now, but I get stuck in each instance:
OPTION 1
don't set reference and use CreateObject instead. I guess this would enable
having one compiled app work for both PS versions BUT...
1. I dim other object for example psDoc as Photoshop.document, I (think) I
can dim these as variants, right?
2. This is the one I can't get around, I use the enum in my programming,
i.e.:
Dim extType As Photoshop.PsExtensionType
extType = psUppercase
I would have to go through and recreate all the global enums (correct
term?) manually -- OR -- is there some kind of DEFINES file I can include?
OPTION 2
Set reference to 7.0 Object Library -- Compile -- then change reference to
8.0 Object library -- compile another version and selectively install the
correct version.
My problem here is this... I have 7.0 and CS installed on the programming
machine. (I installed 7.0 AFTER CS - don't know if that's the problem). I go
to references and unCheck 8.0, click OK, go Back to references and Check 7.0
Object library and click OK. If I know go back to the references dialog, it
seems to have automatically changed the reference back to 8.0... Why is
that? This is now STOPPING me from compiling a version for 7.0?
Can anyone shed some light for me here? Or recommend another forum to ask?
Thanks,
Keith