AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Maptitude über OLE/COM steuern

Ein Thema von DCoderHH · begonnen am 19. Mär 2015 · letzter Beitrag vom 1. Apr 2015
 
DCoderHH

Registriert seit: 4. Feb 2015
Ort: Hamburg
84 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Maptitude über OLE/COM steuern

  Alt 19. Mär 2015, 15:03
Hallo,

steuert hier jemand Maptitude über OLE/COM? Ich möchte eine Karte öffnen (das klappt) und dort ein Zeichen in einer bestimmten Schriftart einfügen. Den Code dazu habe ich teilweise aus der Hilfedatei nach Delphi übersetzt (hoffentlich richtig). Es läßt sich compilieren. Beim Ausführen erscheint jedoch an der Stelle "Hier der Fehler" die folgende Meldung:

Code:
C:\Users\NAME\AppData\Roaming\Caliper\Maptitude 2015\caliper.mrk was not found.
Diese Datei existiert nach einer frischen Maptitude Installation auf der gesamten Festplatte nicht. Ich vermute daher, dass der Fehler ein anderer ist und die Meldung nicht ganz stimmt. Wer kann helfen? Oder hat für mich ein anderes Beispiel, wie ich eine Maptitude-Karte von Delphi aus bearbeiten kann? Danke!


Delphi-Quellcode:
procedure TForm1.Test;
var
  spec, specSub, MapScope, Location, Color: OleVariant;
  MapName: string;
  Gisdk: OleVariant;
begin

  Gisdk := CreateOleObject('Maptitude.AutomationServer');
  Gisdk.RunMacro('OpenMap', 'D:\test.map', null);
  Gisdk.RunMacro('SetWindowSizePixels', null, 340, 270);
  Gisdk.RunMacro('SetLayer', 'Cities & Towns');

  MapName := Gisdk.RunMacro('GetMap');

    spec := VarArrayCreate([1, 4], varVariant);

    Location := Gisdk.RunMacro('Coord', -75000000, 43000000);
    spec[1] := VarArrayCreate([1, 2], varVariant);
    specSub := spec[1];
    specSub[1] := 'Location';
    specSub[2] := Location;

    spec[2] := VarArrayCreate([1, 2], varVariant);
    specSub := spec[2];
    specSub[1] := 'Font';
    specSub[2] := 'Caliper Cartographic|14';

    spec[3] := VarArrayCreate([1, 2], varVariant);
    specSub := spec[3];
    specSub[1] := 'Index';
    specSub[2] := '53';

    Color := Gisdk.RunMacro('ColorRGB', 0, 0, 65535);
    spec[4] := VarArrayCreate([1, 2], varVariant);
    specSub := spec[4];
    specSub[1] := 'Color';
    specSub[2] := Color;

    try
      Gisdk.RunMacro('AddAnnotation', 'Map|'+MapName, 'Font Character', spec); //<-- Hier der Fehler
    except
      MessageDlg(Gisdk.RunMacro('GetLastError', null), mtError, [mbOK], 0);
    end;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz