After one full evening of research, I decided to post my nooby problem here. Basically, I just want to start a microstation project in Viz Studio 2013.
I had both include Microstation :
Into the main file, I added
#define winNT#include <MicroStation.API>BEGIN_BENTLEY_NAMESPACE
That's all, but compiler returns me many error (14), these are the 4 firsts :
Error 1 error C2146: syntax error : missing ';' before identifier 'size_type' c:\users\tom\bentley\microstation\mdl\include\memutilallocator.h 42 1 MdlTESTError 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\tom\bentley\microstation\mdl\include\memutilallocator.h 42 1 MdlTESTError 3 error C2146: syntax error : missing ';' before identifier 'difference_type' c:\users\tom\bentley\microstation\mdl\include\memutilallocator.h 43 1 MdlTESTError 4 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\tom\bentley\microstation\mdl\include\memutilallocator.h 43 1 MdlTEST
Anyway, I cannot do anything, it's always wrong somewhere into these files.
Of course I checked all http://www.la-solutions.co.uk/content/Publications-MDL.htm#ArticleIndexDevTools, thanks Jon, but I couldn't find a solution.
Could you see what's wrong ??
Thank you and have a nice day
Tom Laruve said: I just want to start a MicroStation project in Viz Studio 2013
When writing a native-code C/C++ application, use the right version of Viz Studio!
Tom Laruve said:#include <MicroStation.API>
No such object MicroStation.API! If it's the header file you want to include, then do this...
Regards, Jon Summers LA Solutions
Yes of course, MicroStation.h
So I am probably using a wrong version, I will try with an old one.
This could be the source to a most of your problems.
1. You really should use the full version of Visual Studio 2005. We did not test using the Express Edition, but given some of the differences we encountered when trying to use the 2008 full and Express versions, it would not surprise me one bit if that is part of the issue.
2. You are using MicroStation V8 2004 Edition (v08.05...) unless there is a specific need to use that (10 years old), we really recommend using the most current release of MicroStation V8i -- that is certainly going to make it easier to create native code applications.
3. The version of the SDK that you have is MicroStation V8i (v08.11.07). You really should use the same version series of MicroStation and MicroStation SDK -- the most recent for both is v08.11.09... there is a note on the page you reference that offers a significant hint regarding this:
NOTE: The MicroStation SDK requires MicroStation V8i to be installed to compile applications. It is recommended that you use the same 8-digit versions of MicroStation and MicroStation SDK. Refer to the MicroStation SDK ReadMe for more information.
4. That could be because of a combination of the above three things.
5. That could be because of a combination of the above four things.
In short, I suspect if get a full version of Visual Studio 2005 and the latest releases of MicroStation and MicroStation SDK (and follow the recipe in a previous reply), that most -- if not all -- of your issues will go away.
Tom Laruve said:
1) I have Visutal studio 2005 Express Edition
2) I have Microstation 08.05.02.70
1) I have Visutal studio 2005 Express Edition
2) I have Microstation 08.05.02.70
Both important details you might have mentioned earlier! We assume you are using the current version of MicroStation unless you tell us otherwise. MicroStation v8.05 (MicroStation 2004 Edition) uses a still earlier version of Viz Studio.
Furthermore, the MicroStationAPI C++ API was not available for that version of MicroStation — you must use MDL.
Tom Laruve said: I have the sdk downloaded from here www.bentley.com/.../MicroStation+SDK.htm
I believe that link is for a later version of MicroStation. MicroStation V8.05, as far as I can remember, included the SDK. You must use the correct SDK for your version of MicroStation.
Ok, but where can I find the correct SDK ?
I saw into the Microstation's folder jmdl folder with some jar file, maybe I can use Java to open my DGN file, isn't it ?
Should I use the trial version ?
Tom Laruve said:Ok, but where can I find the correct SDK ?
The correct SDK for what version? If you will use MicroStation V8 2004 Edition, which in general is not recommended, because it's quite obsolete and not supported anymore, the whole SDK is, exactly as Jon mentioned, the part of the product installation. If you choose full installation and didn't modify the content anyhow, it should be there.
To build native application for V8 2004 Edition, you have to use Visual C/C++ 6.0 (so forget Visual Studio whatever number). Alternatively you can compile your code to binary pseudocode using MDL compilers. It's treated as obsolete, but the tools are still available in SDK and if you don't require extensive linking of external tools, it will solve the problem with the righ Microsoft compiler.
Or you can move to the current V8i version and in such case SDK can be downloaded from SELECTservices web and Visual Studio 2005 is the tool you should use.
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point
Jan, your answer is pretty clear, thank you.
My company uses this old version of Microstation, so I cannot change that.
But, my question is, if I build a native windows application with a most recent version. Does my application need this specific version of Microstation to run or it can run on any similar windows ?
Tom Laruve said:My company uses this version of Microstation [v8.05]
You must use Viz Studio 6 SP3
Tom Laruve said: If I build a native windows application with a most recent version
You must consult Microsoft sites, such as MSDN, to learn more about Viz Studio 6 and compatibility with Windows versions. You need to install the Microsoft Windows Platform SDK for your chosen version of Windows. Keep in mind that MicroStation V8.05 is not certified for use with the latest versions of Windows.
Tom Laruve said:Does my application need this specific version of MicroStation to run
Yes: we say 'use Viz Studio 6' for your application because that is the version of C++ used to build MicroStation V8.05. Later versions of MicroStation use later versions of Visual C++. An application built using Viz Studio 6 is likely to differ substantially from the same application built using, say, Viz Studio 2005 for MicroStation V8i.
Welcome to the Bentley Programming forums. As a tip, if you have (new) questions that are not directly related to the original (deviate), it is good practice to start a new Forum posts for each topic. This helps not only yourself find the final response/answer to a (single) particular question quickly, but all other forum members too.
Tom Laruve said:But, my question is, if I build a native windows application with a most recent version. Does my application need this specific version of Microstation to run or it can run on any similar windows ?
You should always match:
NOTE: The MDL SDK version can safely drift only within the last part of the Version Quad; designated by .xx in this example: 08.11.09.xx. If the version number varies in any of the first three parts of the Version Quad it is highly recommend that you:
Fine, I understand everything you are telling me.
I am a little bit desperate, my goal is really easy just open a DGN file, read the elements from it and close it, that's all
Could you advice me a way to do that, any language ?
Just I cannot use Visual C/C++ 6.0 because it doesn't exist anymore.
I saw JMDL, especially this link : www.ad.ntust.edu.tw/.../overview.html
But nothing about opening a file.
Again thanks for your answers
What is your overall goal - what details from elements do you need, what format are you outputting that information as? Have you considered MicroStation VBA (Alt+F11 like Microsoft Office products) based directly on the Microsoft VBA development environment? This is a rapid development environment that provides a high degree of accessibility to MicroStation and Microsoft functionality and libraries.
If you MUST use MicroStation V8 2004 Edition (i.e. v08.05...) and you are using that release of MicroStation on an operating system that it was certified for use on, your best bet is to use pure MDL, which is delivered with the product. This would not involve anything other than that -- no Visual Studio, no Java, etc. Just do a complete install and the "SDK" is included in the ..\mdl\... area.
BTW, the JMDL link you mention is for MicroStation/J... that has long since been removed from the product.