Het aantal tabellen ophalen dat is geladen met geïntegreerde toewijzing

Ik integreer een MapInfo-kaart in een formulier in een Access-database. Ik probeer het aantal geladen tabellen te achterhalen, maar NumTables() en MapperInfo() krijgen allebei "niet-herkende commando" -fouten.

Is er een andere manier om het aantal tafels te krijgen?

2

1 antwoord

U moet Mapinfo.Eval en MapInfo.Do gebruiken en de andere verzoeken omwikkelen. Je kunt MapBasic-functies niet gewoon in Integrated mapping noemen, je moet ze via deze twee methoden doen, als ik het me goed herinner.

Dus, zoiets als dit:

If mapinfo.Eval("TableInfo(" & tabName & "," & 5 & ")") = "F" Then
    MsgBox "Cannot open table!"

mapinfo.Do "Close Table " & tabName

Gebruik eval dus bij het extraheren van info:

MsgBox("Num tables : " + str$(Mapinfo.Eval(NumTables())))

Of zoiets.

En MapInfo.Do voor het uitvoeren van een opdracht:

Mapinfo.Do "Close Table " & tabName

U kunt ook menuopdrachten in geïntegreerde toewijzing uitvoeren:

"zoomin":
Mapinfo.runmenucommand 1705

"zoomout":
Mapinfo.runmenucommand 1706

"info":
Mapinfo.runmenucommand 1707

"layerctrl":
Mapinfo.runmenucommand 801

"select":
Mapinfo.runmenucommand 1701

"deselect":
Mapinfo.runmenucommand 304

"label":
Mapinfo.runmenucommand 1708

"grabber":
Mapinfo.runmenucommand 1702

"open":
Mapinfo.runmenucommand 102

"save":
Mapinfo.runmenucommand 109

Nogmaals, niet-geteste code en van de geheugenbanken van vele jaren geleden toen ik daar werkte aan MapBasic-projecten.

4
toegevoegd