<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://communities.bentley.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>[CONNECT C++]dialog error message</title><link>https://communities.bentley.com/products/programming/microstation_programming/f/microstation-programming---forum/125117/connect-c-dialog-error-message</link><description>Hi, 
 I got following error message from Um &amp;quot;message box&amp;quot;: 
 ---------------------------------------- 
 1 Symbol not published: type=&amp;#39;Text&amp;#39; id=231000006 label=&amp;quot;Rotatation Angle:&amp;quot; 2 accessStr=&amp;quot;gImportSettingsInfo.RotationAngle&amp;quot; 
 ---------------------</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: [CONNECT C++]dialog error message</title><link>https://communities.bentley.com/thread/380610?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2016 17:27:55 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:6c34fd8e-253f-4c8a-ab3d-5b5017d93f06</guid><dc:creator>Jon Summers</dc:creator><description>&lt;p&gt;[quote user=&amp;quot;Zhen Li&amp;quot;]mdlDialog_publishComplexVariable(setP, &amp;quot;&lt;span style="color:#0000ff;"&gt;importSettingsInfo&lt;/span&gt;&amp;quot;, &amp;quot;gImportSettingsInfo&amp;quot;, &amp;amp;gImportSettingsInfo);[/quote]&lt;/p&gt;
&lt;p&gt;Do you have a type whose tag is &lt;span style="font-family:courier new,courier;color:#0000ff;"&gt;importSettingsInfo&lt;/span&gt;?&amp;nbsp; Everything in C/C++ is case-sensitive!&lt;/p&gt;
&lt;p&gt;[quote user=&amp;quot;Zhen Li&amp;quot;]typedef struct &lt;span style="color:#0000ff;"&gt;importsettingsinfo&lt;/span&gt;&lt;br /&gt; {&lt;br /&gt; ......&lt;br /&gt; } TImportSettingsInfo;[/quote]&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [CONNECT C++]dialog error message</title><link>https://communities.bentley.com/thread/380596?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2016 16:15:31 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:4283a30c-ba40-4b37-8c59-eb2386c6190b</guid><dc:creator>Zhen Li</dc:creator><description>Hi, Jon&lt;br /&gt;
&lt;br /&gt;
Thank you so much for helping me. I still can not get rid of the errors message. It makes crazy.&lt;br /&gt;
&lt;br /&gt;
I think MKE file have some other problems?&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [CONNECT C++]dialog error message</title><link>https://communities.bentley.com/thread/380574?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2016 14:45:52 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:4e2f997e-7703-4bc5-b59a-d8042bcb2444</guid><dc:creator>Jon Summers</dc:creator><description>&lt;p&gt;[quote user=&amp;quot;Zhen Li&amp;quot;]$(o)$(appName)typ.rsc : $(o)$(appName)typ.r[/quote]&lt;/p&gt;
&lt;p&gt;You&amp;#39;ve correctly added the instruction to &lt;em&gt;bmake&lt;/em&gt; to create a binary type resource file from your &lt;span style="font-family:courier new,courier;"&gt;$(appName)typ.r&lt;/span&gt; source.&lt;/p&gt;
&lt;p&gt;[quote user=&amp;quot;Zhen Li&amp;quot;]appRscs = $(rscObjects)$(appName).rsc \&lt;br /&gt; $(rscObjects)$(sAppName)cmd.rsc\&lt;br /&gt; $(rscObjects)$(sAppName)msg.rsc[/quote]&lt;/p&gt;
&lt;p&gt;However, you have not included that type resource file in your app. resources...&lt;/p&gt;
&lt;pre class="brush: cpp; fontsize: 100; first-line: 1; "&gt;appRscs = $(rscObjects)$(appName).rsc \
$(rscObjects)$(sAppName)cmd.rsc \
$(rscObjects)$(sAppName)msg.rsc \
$(o)$(sAppName)type.rsc&lt;/pre&gt;
&lt;p&gt;Without that type resource data, the dialog manager can&amp;#39;t figure out what your access string means.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [CONNECT C++]dialog error message</title><link>https://communities.bentley.com/thread/380570?ContentTypeID=1</link><pubDate>Tue, 23 Aug 2016 14:17:31 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:786054da-bc29-447b-864e-a1776faad593</guid><dc:creator>Zhen Li</dc:creator><description>&lt;p&gt;Hi Jon,&lt;br /&gt; &lt;br /&gt; Thank you so much for your reply. I did as you said. I still get same errors. I did following:&lt;br /&gt; ====================== MKE file ==========================&lt;br /&gt; privateInc = $(baseDir)&lt;br /&gt; langSpec = $(baseDir)transkit/&lt;br /&gt; &lt;br /&gt; appRscs = $(rscObjects)$(appName).rsc \&lt;br /&gt; $(rscObjects)$(sAppName)cmd.rsc\&lt;br /&gt; $(rscObjects)$(sAppName)msg.rsc&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; #----------------------------------------------------------------------&lt;br /&gt; # Create needed output directories in case they don&amp;#39;t exist&lt;br /&gt; #----------------------------------------------------------------------&lt;br /&gt; always:&lt;br /&gt; !~@mkdir $(o)&lt;br /&gt; !~@mkdir $(rscObjects)&lt;br /&gt; !~@mkdir $(reqdObjs)&lt;br /&gt; &lt;br /&gt; #-----------------------------------------------------------------------&lt;br /&gt; # Generate non-language resource files&lt;br /&gt; #-----------------------------------------------------------------------&lt;br /&gt; $(o)$(appName)typ.r : $(baseDir)$(appName).mt &lt;br /&gt; &lt;br /&gt; $(o)$(appName)typ.rsc : $(o)$(appName)typ.r&lt;br /&gt; &lt;br /&gt; $(genSrc)$(sAppName)cmd.h : $(baseDir)$(sAppName)cmd.r&lt;br /&gt; &lt;br /&gt; $(rscObjects)$(sAppName)cmd.rsc : $(baseDir)$(sAppName)cmd.r&lt;br /&gt; &lt;br /&gt; $(rscObjects)$(sAppName)msg.rsc : $(baseDir)$(sAppName)msg.r&lt;br /&gt; &lt;br /&gt; $(rscObjects)$(appName).rsc : $(baseDir)$(appName).r&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; dlmObjs = $(o)$(appName)$(oext) \&lt;br /&gt; $(o)$(cppName)$(oext)&lt;br /&gt; &lt;br /&gt; DLM_NAME = $(appName)&lt;br /&gt; DLM_DEST = $(mdlapps)&lt;br /&gt; DLM_OBJECT_FILES = $(dlmObjs)&lt;br /&gt; DLM_OBJECT_DEST = $(o)&lt;br /&gt; DLM_SPECIAL_LINKOPT = -fixed:no # Notify linker this library does not require a fixed base address to load&lt;br /&gt; DLM_NO_DLS = 1 # USE DLLEXPORT IN .CPP&lt;br /&gt; DLM_NO_DEF = 1&lt;br /&gt; DLM_NOENTRY = 1&lt;br /&gt; DLM_NO_MANIFEST = 1 # If not set linker embeds your current (developer) patched MSVCRT version manifest in output dll. This is not desirable and produces side-by-side CLIENT ERROR: 14001)&lt;br /&gt; DLM_NO_SIGN = 1 # If not set and no certificate found, ERROR: &amp;#39;singleton&amp;#39; is not recognized as an internal or external command&lt;br /&gt; .......&lt;br /&gt; &lt;br /&gt; %include $(MDLMKI)dlmlink.mki&lt;br /&gt; &lt;br /&gt; $(reqdObjs)$(appName).mi : $(appRscs)&lt;br /&gt; $(msg)&lt;br /&gt; &amp;gt;$(o)make.opt&lt;br /&gt; -o$@&lt;br /&gt; $(appRscs)&lt;br /&gt; &amp;lt;&lt;br /&gt; $(RLibCmd) @$(o)make.opt&lt;br /&gt; ~time&lt;br /&gt; &lt;br /&gt; #----------------------------------------------------------------------&lt;br /&gt; # copy the transkit resource to the transkit directory&lt;br /&gt; #----------------------------------------------------------------------&lt;br /&gt; TRANSKIT_RSCS = $(baseDir)$(sAppName)rsc.mki &lt;br /&gt; &lt;br /&gt; TRANSKIT_INCLUDE = $(privateInc)$(appName).h &lt;br /&gt; &lt;br /&gt; TRANSKIT_LANG = $(langSpec)*.*&lt;br /&gt; &lt;br /&gt; %include $(baseDir)$(appName)rsc.mki&lt;br /&gt; &lt;br /&gt; ====================CODE============================&lt;br /&gt; &lt;br /&gt; extern &amp;quot;C&amp;quot; DLLEXPORT void MdlMain(int argc, WCharCP argv[])&lt;br /&gt; {&lt;br /&gt; SymbolSet *setP;&lt;br /&gt; RscFileHandle rfHandle;&lt;br /&gt; char VarValueStr[256];&lt;br /&gt; char* filename = NULL;&lt;br /&gt; &lt;br /&gt; mdlResource_openFile(&amp;amp;rfHandle, NULL, RSC_READONLY);&lt;br /&gt; &lt;br /&gt; mdlSystem_registerCommandNumbers(cmdNumbers);&lt;br /&gt; &lt;br /&gt; /* Load our command table */&lt;br /&gt; if (NULL == mdlParse_loadCommandTable(NULL))&lt;br /&gt; mdlOutput_rscPrintf(MSG_ERROR, NULL, STRINGID_SignCADMessages, MSGID_ErrorLoadingCmdTable);&lt;br /&gt; &lt;br /&gt; setP = mdlCExpression_initializeSet(VISIBILITY_DIALOG_BOX, 0, FALSE);&lt;br /&gt; //mdlDialog_publishStructure(setP, &amp;quot;importSettingsInfo&amp;quot;);&lt;br /&gt; mdlDialog_publishComplexVariable(setP, &amp;quot;importSettingsInfo&amp;quot;, &amp;quot;gImportSettingsInfo&amp;quot;, &amp;amp;gImportSettingsInfo);&lt;br /&gt; //mdlDialog_publishComplexVariable(setP, &amp;quot;TFontDialogInfo&amp;quot;, &amp;quot;FontDialogInfo&amp;quot;, &amp;amp;FontDialogInfo);&lt;br /&gt; &lt;br /&gt; =====================Definition===========================&lt;br /&gt; typedef struct importsettingsinfo&lt;br /&gt; {&lt;br /&gt; ......&lt;br /&gt; } TImportSettingsInfo;&lt;/p&gt;
&lt;p&gt;TImportSettingsInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gImportSettingsInfo;&lt;br /&gt;TFontDialogInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FontDialogInfo;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; =========================R file=======================&lt;br /&gt; DItem_TextRsc TEXTID_Rotate =&lt;br /&gt; {&lt;br /&gt; NOCMD, LCMD, NOSYNONYM,&lt;br /&gt; NOHELP, LHELP, NOHOOK,&lt;br /&gt; NOARG, 10, &amp;quot;%0.0f&amp;quot;, &amp;quot;%f&amp;quot;,&lt;br /&gt; &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, NOMASK,&lt;br /&gt; TEXT_NOCONCAT,&lt;br /&gt; TXT_DTXT_ROTATE,&lt;br /&gt; &amp;quot;gImportSettingsInfo.RotationAngle&amp;quot;&lt;br /&gt; };&lt;br /&gt; ================================================&lt;br /&gt; &lt;br /&gt; I really can not locate the problems. I need your help to take a look what is wrong with my code. &lt;br /&gt; &lt;br /&gt; Best,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [CONNECT C++]dialog error message</title><link>https://communities.bentley.com/thread/380443?ContentTypeID=1</link><pubDate>Mon, 22 Aug 2016 20:13:27 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:f9d5add2-23fe-4be2-b8a0-9af1d6c934ed</guid><dc:creator>Jon Summers</dc:creator><description>&lt;p&gt;MicroStation&amp;#39;s &lt;em&gt;dialog manager&lt;/em&gt; is responsible for handling data exchange between your program variables and dialog items.&lt;/p&gt;
&lt;p&gt;You assign an &lt;em&gt;access string&lt;/em&gt; to each dialog item that is intended to communicate with your program variable.&amp;nbsp; That access string is specified in your dialog resource source (&lt;span style="font-family:courier new,courier;"&gt;*.r&lt;/span&gt;) file.&amp;nbsp; In your example, you have assigned access string&lt;span style="font-family:courier new,courier;"&gt; gImportSettingsInfo.RotationAngle&lt;/span&gt; to a text item.&lt;/p&gt;
&lt;p&gt;In addition to those resource data, you must also &lt;em&gt;publish&lt;/em&gt; your variable so that the dialog manager is aware of it.&amp;nbsp; Use &lt;span style="font-family:courier new,courier;"&gt;mdlDialog_publishComplexVariable()&lt;/span&gt;.&amp;nbsp; Look in the delivered examples to find usage of the &lt;span style="font-family:courier new,courier;"&gt;mdlDialog_publishXxx&lt;/span&gt; functions.&amp;nbsp; It&amp;#39;s usual to publish your variables when your program loads, probably in &lt;span style="font-family:courier new,courier;"&gt;MdlMain()&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;In addition you must inform the dialog manager about the detail of your complex variable &lt;span style="font-family:courier new,courier;"&gt;gImportSettingsInfo&lt;/span&gt;.&amp;nbsp; You do that by adding a &lt;em&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;type resource file&lt;/span&gt;&lt;/em&gt; (*.mt) to your project.&amp;nbsp; A type resource file usually contains nothing more than some #includes and a &lt;span style="font-family:courier new,courier;"&gt;publishStructures (variable)&lt;/span&gt; statement.&amp;nbsp; Look in the &lt;span style="font-family:courier new,courier;"&gt;\DialogBoxes\BasicDialogBox&lt;/span&gt; project.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>