1) The symbol catalog is in a different location than when the map was made, and
2) the no embed flag is set in that catalog's default.xml file. The effect: The symbol is not embedded in the map but raher drawn out of the catalog by reference. As a result, the symbol can't be found in its new location.
Where do you have it installed on your drive? If its installed into a directory that has spaces in its name, 1.02f, which is a Windows 3.1 program that expects strict 8.3 file naming, may not be able to handle that.
It worked! Thanks! I had the same symbols for years now, but I hadn't used them on this computer; I checked the directory, and it was the only symbol folder with a space in it's name. I just have to change my symbols text.
I'm revisiting this post with a similar situation...
I did a major overhaul on my symbol folders, reorganizing them for easier use. Let's say that I had them set to noembed, or at least several of the catalog default.xml.
My old maps have a huge number of blank symbols when I select area. I can fix the noembed flag moving forward, and eliminate spaces in folder names just to be sure. But is there any way to re-link the noembed symbols into old maps if I don't know where in MapArt those symbols were originally placed?
Last question: in default.xml, how do I reverse the noembed flag? just delete that line or is there an embed command to insert into the xml?
Yes, just get rid of the noembed tag and that should do it. Generally the mapper will try to find the image in a couple different places, but it won't always be able to if they've been moved.
Here's a plugin that will show you where it thinks everything is. Place this in a file called 'ListAllSymbols.FMScript' into the plugin directory and restart FM. It'll show up in the plugins menu after that. Load the map and run the script.
#plugin List All Symbols on Map
#author NBOS Software
#desc Lists info about all the symbols on the current map
Dim oMap, o, i, s
oMap = GetCurrentMap()
For i = 1 to oMap.ObjectCount
o = oMap.GetObject( i-1)
if o.BaseType = "Submap" then
DebugMsg "Submap File: " & o.SubmapFile
end if
if o.BaseType = "Symbol" then
DebugMsg "Image File: " & o.BitmapFile
end if
Next
This won't fix the problem, but it should help you ID where it thinks it should be looking. You can also assign the BitmapFile or Submap file properties for the map objects to update them.
Perfect! Thank you. I don't think it will be to difficult to use the plugin and copy duplicates of the missing symbols to the original locations. Or at least ID what they were and reinsert them from the new location.
Ok, it looks like the DebugMsg function is having a problem. Which is a bit ironic.
Try this approach - it'll make a new popup window and show the results:
#plugin List All Symbols on Map
#author NBOS Software
#desc Lists info about all the symbols on the current map
Dim oMap, o, i, s
oMap = GetCurrentMap()
s = ""
For i = 1 to oMap.ObjectCount
o = oMap.GetObject( i-1)
if o.BaseType = "Submap" then
s = s + "Submap File: " & o.SubmapFile & vbCrLf
end if
if o.BaseType = "Symbol" then
s = s + "Image File: " & o.BitmapFile & vbCrLf
end if
Next
dim w, m
set w = NewDialogWindow()
w.Top = 10
w.Left = 20
w.Width = 800
w.Height = 500
w.Caption = "Symbol List"
w.Centered = true
mem = w.AddMemo()
mem.Top = 20
mem.left = 20
mem.Width = 740
mem.Height = 360
mem.Text = s
w.ShowModal
Comments
Can you clarify this? Its not clear when this is happening for you.
I'll wager that:
1) The symbol catalog is in a different location than when the map was made, and
2) the no embed flag is set in that catalog's default.xml file. The effect: The symbol is not embedded in the map but raher drawn out of the catalog by reference. As a result, the symbol can't be found in its new location.
I have NBOS version 1.02f
https://i.ibb.co/NmP34Dk/NBOSDSQues.gif
And yes, the symbols were made on a long, decommissioned computer. BUT, they worked on previous computers.
Where do you have it installed on your drive? If its installed into a directory that has spaces in its name, 1.02f, which is a Windows 3.1 program that expects strict 8.3 file naming, may not be able to handle that.
It worked! Thanks! I had the same symbols for years now, but I hadn't used them on this computer; I checked the directory, and it was the only symbol folder with a space in it's name. I just have to change my symbols text.
I'm revisiting this post with a similar situation...
I did a major overhaul on my symbol folders, reorganizing them for easier use. Let's say that I had them set to noembed, or at least several of the catalog default.xml.
My old maps have a huge number of blank symbols when I select area. I can fix the noembed flag moving forward, and eliminate spaces in folder names just to be sure. But is there any way to re-link the noembed symbols into old maps if I don't know where in MapArt those symbols were originally placed?
Last question: in default.xml, how do I reverse the noembed flag? just delete that line or is there an embed command to insert into the xml?
Yes, just get rid of the noembed tag and that should do it. Generally the mapper will try to find the image in a couple different places, but it won't always be able to if they've been moved.
Here's a plugin that will show you where it thinks everything is. Place this in a file called 'ListAllSymbols.FMScript' into the plugin directory and restart FM. It'll show up in the plugins menu after that. Load the map and run the script.
This won't fix the problem, but it should help you ID where it thinks it should be looking. You can also assign the BitmapFile or Submap file properties for the map objects to update them.
Perfect! Thank you. I don't think it will be to difficult to use the plugin and copy duplicates of the missing symbols to the original locations. Or at least ID what they were and reinsert them from the new location.
Update: the script shows up when I restart and load the map. But when I run it there is no output.
Ok, it looks like the DebugMsg function is having a problem. Which is a bit ironic.
Try this approach - it'll make a new popup window and show the results:
Thanks, Ed! I'll give it a try now and reply back.
Update: Worked perfectly. Thank you!