Dear Team,
We are migrating old MicroStation V8 tools(.ma) to CONNECT EDITION 14.
Our old v8 tools contains .rsc resources only but for migration we need .r files it seems.
can i migrate my old v8 tool with .rsc file or i need .r file as mandatory ?
Thanks in advance.
Hi Daniel,
please be aware you posted your question to general Developers and Programming forum, but probably more specialized forums like MicroStation Programming forum or MicroStation forum would be better (Product Administration forum is yet another alternative). To move existing post, use More > Move tool available under your original post.
Daniel Bollavarapu said:We are migration old microstation V8 tools to connect edition 14.
Can you please provide more details what exactly do you migrate? It's not very clear, because of several different formulations:
Based on what should be migrated, the right forum can be selected.
Daniel Bollavarapu said:Our old v8 tools contains .rsc resources only
The information "contains .rsc only" is in conflict with information about MDL.
Daniel Bollavarapu said:can i migrate my old v8 tool with .rsc file or i need .r file as mandatory ?
Without knowing details requested above the question cannot be answered:
With regards,
Jan
P.S. I recommend to be more careful about proper naming and capitalization (not microstation but MicroStation, not Connect but CONNECT Edition or CE...), because text looks better, more professionally and also can be read easier (because we all are used to the names ;-)
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point
Answer Verified By: Daniel Bollavarapu
Dear Jan,
we have developed one custom tool to reshape the element using MDL's.
Our tool contains below files.
Using 'mdl load builder' dialog box was designed.
All the Dialog Box design code will be in .rsc file.
We cannot view or edit .rsc file we need <toolname>Dlg.r file for editing, so we are using 'mdl load sourcer' tool in V7 to generate .r file from .rsc file.
So without .r file (dialog box code) can i migrate my tool to CONNECT EDITION ?
Thank you.
Daniel Bollavarapu said:so we are using 'mdl load sourcer' tool in V7 to generate .r file from .rsc file.
Yes, it was the only way how to create r from rsc. Can it be used to create missing .r from dialog rsc definitions too?
Daniel Bollavarapu said:So without .r file (dialog box code) can i migrate my tool to CONNECT EDITION ?
You need a complete project that can be compiled from scratch (nor rsc files in a middle) to migrate it to CONNECT Edition.
Frankly, I am a bit surprised you have not needed the source files in the past. It's possible to use rsc files only, but they are black boxes, and such project cannot be treated as a standard project in my opinion.
First of all everthing is possible but you need some time to learn how to do it. :)
Daniel Bollavarapu said:We are migrating old MicroStation V8 tools(.ma) to CONNECT EDITION 14.
I suggest you to start from Developers Migrating to MicroStation CONNECT > Workflows.
Kind regards,
Sedat AlisAEC Technology Inc.
Daniel Bollavarapu said: we are using 'mdl load sourcer' tool in V7 to generate .r file from .rsc file.
That reads as if you're reverse-engineering an app to extract its user interface and implementation.
You seem confused about the purpose of source (*.r, *.mc, *.h, *.fdf) files and compiled (*.rsc, *.mo, *.mp, *.ma) files.
*.r
*.mc
*.h
*.fdf
*.rsc
*.mo
*.mp
*.ma
Header files (*.h, *.fdf) are source code files. Usually shared by implementation *.mc and resource source (*.r) files.
Dialogs, Command Tables and Message lists are defined in one or more reource source (*.r) files. Resource source code is compiled to binary (*.rsc) using the Bentley tool rcomp.exe. Multiple resource files can be merged using the Bentley tool rlib.exe.
rcomp.exe
rlib.exe
MDL is written in source (*.mc) files. Source code is compiled to an intermediate binary (, *.mo) file by the Bentley tool mcomp.exe.
mcomp.exe
Finally, all resource binaries and intermediate code files are merged into a *.ma by the Bentley librarian.
The above steps are best written in a Bentley Make (bmake.mke) file. Your screenshot doesn't show a bmake file but it does show a Windows batch file: I hope you're not controlling the build of your app using a batch file! Prefer a make file (bmake) to manual build methods.
bmake.mke
Regards, Jon Summers LA Solutions
Hi Jon,
Thanks for explaining about the file types and their use.
And my question is do we really need dialog box source code .r file for migration ?
Hi Jan,
Yes it is creating missing dialog source code .r file from binary .rsc file.
Complete project must contain dialog source .r file for migration ?
Daniel Bollavarapu said:Complete project must contain dialog source .r file for migration ?
As I wrote above: You need complete project with all source codes. Rsc files are not source codes, they are compiled from .r (plus other like .h) files using resource compiler.
Summary: You have to have project, containing source files (text files like .mc, .h, .r...) only and to be able to compile the application using V8 SDK development shell.
I agree with Sedat Alis: Everything is possible, including to use rsc files without source codes, but it's (A) not the way supported officially and (B) requires special knowledge. To use standard way is always recommended.
But not only! As visible from your screen capture, your project is pseudocode (compiled from .mc files), that is obsolete I guess for last 10 years (from XM Edition?) and not supported in CONNECT Edition. So the migration is not about missing .r files only, but also to migrate the code from pseudocode to native code (Visual Studio 2017 Professional) based on CE API.
When your application is "just one tool", it's a question whether it's not simpler to implement it from scratch, e.g. in C#, which is more limited comparing to C++ API, but provides faster and simpler implementation.
Regards,
Daniel Bollavarapu said:Do we really need dialog box source code .r file for migration?
Jan has already answered that topic.
However, keep in mind that you're porting from a 32-bit world to 64-bit CONNECT. Will 32-bit binaries work in a 64-bit world? If you have source code, and use rcomp.exe, delivered with the CONNECT SDK, to create a binary *.rsc file then that must be CONNECT compatible.
It is quite likely that the data structures used in an ancient 32-bit app are incompatible with data structures of the same name in 64-bit development. Attempting to use 32-bit resource files for a 64-bit app would be foolish. So, yes, you need the source code for your dialog box. How else will you maintain or extend the app?
Dear Daniel,
Daniel Bollavarapu said:Our old v8 tools contains .rsc resources only but for migration we need .r files it seems.
Inside MicroStation v8.1 developer tools, there were key-ins as follows. You may try it to generate .r file from .rsc files. I was using this utility to generate resource file (.r) of icon resources (.rsc). As described by Jan and Jon, normal generation process of .rsc file is from .r source file.
MicroStation v8.1 Developer Tools;
MDL L ICONEDIT - Edit icons.MDL L SOURCER - Convert resource files to source code.MDL L BUILDER - Build Dialog Boxes.MDL L CMDTEDIT - Command table editorMDL L STRGEDIT - String List editorMDL L RDE - Resource Editor