Easy but tricky, Simple but Complicated.........

Hi Experts,

I have developed an application that involves Excel chart OLE.  The application was launched successfully and was running fine for past 4 months.

Yesterday, this application was opened to the German users.  Now, when they invoke this particular option, the error message "Automation object not set" popped for them.

I tried to simulate the same in my environment.  

The setting that i made to simulate the error is very simple.

The error pops when i change my regional settings language to have "German (Standard)".  The machine asks for a restart and after restarting that option pops the error.

When I change back the regional settings to International (English) and restart the machine then the error is gone !!!

Any suggestions ?

:(

Customers are on my Neck crushing !!!
LVL 9
ArunkumarAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

kobluckiCommented:
This is absolutely off the top of my head.

When you set the object (ex. CreateObject()), may be there is a difference in the way you call the class by name.

Again I have no clue,
I have an application that uses outside objects from excel let me try and see if I can get the same thing.

 
0
mchampouCommented:
Could you put the following code in your action button / hotspot / wherever ... (I do hope that you are using Lotus Script) This will email you (if you have a pager gateway you an send it to it to get paged) what line has the problem. Perhaps it has nothing to do with the initialization of the Excel object ... perhaps it's a property that's renamed in the German edition or something ...

Even if it's not the following code can save your life at times ... paste it in scheduled agents to know when something goes wrong ...

Good luck !

mchampou


'=================================='
'This goes at the top
'=================================='

On Error Goto MailError

'=================================='
'Declarations ...
'=================================='


Dim Session as New NotesSession
Dim DB as NotesDatabase
Dim Doc as NotesDocument
Dim TextToAppend as String

'=================================='
'Initialize some stuff
'=================================='


TextToAppend = ""
Set DB = Session.CurrentDatabase
Set Doc = DB.CreateDocument

'=================================='
'Insert your code that creates the graph
'=================================='


'=================================='
'This goes at the bottom
'=================================='

Exit Sub

MailError:

   Call Doc.ReplaceItemValue ("SendTo", "Your email add here")
   Call Doc.ReplaceItemValue ("Subject" , "An error occured while creating the graph")
   TextToAppend = Chr(10) + Chr(13) + "An error occured while creating the graph ... " + Chr(10) + Chr(13) +  Chr(10) + Chr(13) + "The line where the error is : " + Cstr(Erl())
   TextToAppend = TextToAppend + Chr(10) + Chr(13) + "The error message is        : " + Error$
     Call MailDoc.ReplaceItemValue("Body" , TextToAppend )
     Call MailDoc.Send ( False )
0
pentapodCommented:
I know from my Access programming that Microsoft actually changes function names in different languages.  For example if I write an Access application on my PC (International English) and then open it on a user's machine which has Brazilian Portuguese installed, it looks like a completely different application because all the VB function names will have been translated into Portuguese.  For example Now() becomes Agora().  Punctuation and date/number formatting changes.

I would guess that in your Notes DB where you have the code that defines the OLE object, you will need to add a check to find out what language the user has installed, and if German, change the code to define the object in German.

if default_language = english then
    CreateObject() etc.
else if default_language = german
    CreateObjectUsingGermanSyntax()
end if

Goodness knows how the syntax would change in German, but I'll bet that's your problem.  (Bloody Microsoft trying to be clever - the headaches this has caused me in Access!!)

....Pentapod
0
Become a Microsoft Certified Solutions Expert

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

kobluckiCommented:
I've been trying to get an answer to this for past few hours, many people have had this problem but no solution(at least from what I've seen) It seems that the most logical explanation is the one given by pentapod.

I changed my settings to german also and tried to execute createObject("Excel.Application") function and it failed.

If you do find the answer somewhere else than here, It would be great if you could post it for us to see.
I work on mostly global applications between asia and europe so I am sure your problem would come back to me at some point.

Good Luck
0
HemanthaKumarCommented:
Hi Arun

Check this link ( http://support.lotus.com/sims2.nsf/802ee480bdd32d0b852566fa005acf8d/5f52874441cb39618525665f0065008f?OpenDocument
 ) which has got more info on this, Actually it is a bug which can be overcome by using the technique discussed in the above said document.


Good Luck
~Hemanth

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ArunkumarAuthor Commented:
Hi All

That was exactly what I am looking for..

Thanks Hemanth, Thanks a lot.

-Arun
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Lotus IBM

From novice to tech pro — start learning today.