Copy link to clipboard
Copied
Hi,
I wrote a VB6 application for a customer some years ago, which is using Photoshop for some imaging stuff.
The thing is that the customer has now installed the 64 bit version of Photoshop CS4, and she gets the well known error nr 429, ActiveX component can't create object, trying to run the program.
The error is most likely to ocurr on the line trying to initiate Photoshop:
Set appRef = CreateObject("Photoshop.Application")
The appRef object variable is declared as this:
Private appRef As Photoshop.Application
And in References for the project, I'm pointing towards the "Adobe Photoshop CS4 Object Library".
Is there another name for creating the application for the 64 bit version, using late binding in the same manner as for the 32 bit version?
Best regards,
Andreas
Message was edited by: Andreas Jansson
Copy link to clipboard
Copied
you ever solve it? I have same problem. 4 years later . . .
Copy link to clipboard
Copied
Hi!
Sorry for not answering sooner!
Well, it seems I had to rewrite the application in Visual Studio C#.
(Looking in the code) I used this declaration for the application object (Photoshop):
private dynamic appRef;
and this code to set it to an instance of Photoshop:
appRef = Activator.CreateInstance(Type.GetTypeFromProgID("Photoshop.Application"));
Documents are opened like this:
docRef = appRef.Open(FullFilePath, null, null);
Best regards,
Andreas
Copy link to clipboard
Copied
Is your VB app 64 or 32 bit? I think you want a 64 bit app to see the 64 bit side of the registry. I know when I run my cscript in 64 bit console I get 64 bit Photoshop and when I run cscript in 32 bit console I get 32 bit Photoshop.
Copy link to clipboard
Copied
The original VB6 application was 32 bit. I doubt you could produce 64 bit applications using Visual Basic 6.
But that might very well be the explanation to why it did not work in a 64 bit environment.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now