Can't initialize data bindings
Hi,
Error Msg = "Can't initialize data bindings"
One of my users gets this error message when they run my app on their XP machine. My program is designed only for XP at the moment. I have tested my program on 8 XP machines and it runs fine, except this user.
I did some hunting and found this solution:
**************************************************
"Hello i had the same problem and here is the solution first make sure msstdfmc.dll file exists in ur "system32" folder for winxp or "system" folder in win98,if it exists then goto Start>Run and type in the following:
RegSvr32 <the path to system32 / system dir>\msstdfmt.dll
Now the Datagrid Control Works fine in Vb.net as well as Vb 6.0
**************************************************
I haven't heard back if the above solution works...I wanted to get feedback on this error message.
What are the best practices? In INNO setup I don't want to copy .DLLs to my users system32 folder, if I can help it. I copy all files to the application path, and it works well on PCs I've tested. The msstdfmt.dll is copied to the user's application folder, not their system directory.
Could it be VB6 runtime not being installed?
Regards,
Simon
Re: Can't initialize data bindings
Quote:
Originally Posted by
batman321
I haven't heard back if the above solution works...
Of course it works, and you'd have avoided this problem if you'd read the documentation:
Quote:
The Microsoft Standard Data Formatting Object Library is required for controls that implement a DataFormat property. An Application Error occurs when a control makes an attempt to use the DataFormat property and the Microsoft Standard Data Formatting Object Library is not registered. Controls that implement a DataFormat property include, but are not limited to, the following:
CheckBox, ComboBox, Image, Label, ListBox, PictureBox, TextBox, ImageCombo, MonthView, DTPicker, Calendar, DataCombo, DataList, DBCombo, DBList, MaskEdBox, RichTextBox.
Quote:
Originally Posted by
batman321
What are the best practices? In INNO setup I don't want to copy .DLLs to my users system32 folder, if I can help it. I copy all files to the application path, and it works well on PCs I've tested. The msstdfmt.dll is copied to the user's application folder, not their system directory.
No, no, no! This is a shared component, not an application specific component. You risk breaking other applications on the users' machines.
Quote:
Verify that msstdfmt.dll is located in the Microsoft Windows 95 or Microsoft Windows 98 Windows\System folder or in the Microsoft Windows NT or Microsoft Windows 2000 Windows\System32 folder.
Frankly that Inno stuff is very hazardous unless you know what you're doing. It is much safer for your users' systems and your own peace of mind to use a proper installation tool. Even the PDW is smart enough to look at the supplied setup directives (.DEP files, VB6DEP.INI, etc.) to know what to install and where. Even these files have gotten out of date (and you are responsible for updating them based on 12 years of MS KB articles) but it is still safer than using Inno blindly.
Re: Can't initialize data bindings
Thanks for your reply.
My concern is the solution i.e. register the msstdfmt.dll, how can I do that if it resides in the user's windows32 folder? The application files are copied only to the user's application folder. Maybe I forgot to register this .DLL beforehand.
Thanks
Simon
Re: Can't initialize data bindings
It should be registered just as you're registering other DLLs and OCXs. The exact InnoSetup script command is something you might find from its documentation or support forum.
Re: Can't initialize data bindings
I will attach the "regserver" flag to all .DLLs in my inno setup.