Delphi-PRAXiS
Seite 3 von 4     123 4   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   GPX-Dateien anzeigen (https://www.delphipraxis.net/207408-gpx-dateien-anzeigen.html)

Delphi.Narium 23. Mär 2021 16:52

AW: GPX-Dateien anzeigen
 
Bei Delphi 7 im Menü unter "Komponente" das Untermenü "ActiveX importieren" auswählen.
Button "Hinzufügen", im Dialog die OCX-Datei auswählen und dann entweder "Installieren" oder "Unit anlegen" wählen.

Bei "Installieren" erhält man auf der, im Dialog ausgewählten, Palettenseite ein entsprechendes Symbol und kann dann, wie bei anderen Komponenten auch, das entsprechende Control auf ein Formular ... einfügen.

Benutzbarkeit ist analog zu allem auf der "ActiveX"-Palettenseite.

Wie der genaue Weg bei aktuellen Delphis ist, weiß ich nicht.

mmw 23. Mär 2021 17:47

AW: GPX-Dateien anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
hallo,
im Verzeichnis ..\..\MapWinGIS

sollte folgenden Datei sein -

regMapWinGIS.cmd

diese Datei ausführen, dadurch wird die ActiveX Komponente registriert. Anschließend in Delphi dann über Komponente importieren
als Aktivex oder die Typbiblothek (Wenn man die Komponente installiert hat).

Die Komponente heißt 'MapWinGIS Components'

ein erstes Beispiel (ich habe die Komponente auch nicht eingesetzt., in VS2017 soll man sich eine Hilfe erstellen könnnen.)

Delphi-Quellcode:
begin
   Map1.Projection:= PROJECTION_GOOGLE_MERCATOR;
   Map1.KnownExtents:= keUSA;
   Map1.Tiles.AutoDetectProxy();
   Map1.Latitude:=48.85;
   Map1.longitude:=2.36;
   Map1.CurrentZoom:=12;
end;
https://www.mapwindow.org/documentat...g_started.html

hier ein Programm das die Biblothek einsetzt. Wenn man MapWindow 5 installiert,kann über File/AddVectorlayer [all Files] eine GPX Datei anzeigen.

https://www.mapwindow.org/

DieDolly 23. Mär 2021 19:47

AW: GPX-Dateien anzeigen
 
Zitat:

diese Datei ausführen, dadurch wird die ActiveX Komponente registriert. Anschließend in Delphi dann über Komponente importieren
als Aktivex oder die Typbiblothek (Wenn man die Komponente installiert hat).
Muss man diese CMD-Datei auf allen Rechnern ausführen wo die Exe nachher laufen soll?

Kann ich die Datei wieder "unregistrieren" (unregMapWinGIS.cmd) wenn ich sie in Delphi importiert habe?

mmw 23. Mär 2021 19:58

AW: GPX-Dateien anzeigen
 
hallo,

auf allen Rechner auf dem das AktiveX -Control benutzt wird muss es auch registriert sein, anschließend (bei desinstallation ) kann es wieder unregistriert werden.

DieDolly 23. Mär 2021 20:01

AW: GPX-Dateien anzeigen
 
Dann hat sich die Komponente für mich auch wieder erledigt. Trotzdem danke.
Ich dachte das wird alles in die Exe mit einkompiliert.

mmw 23. Mär 2021 20:10

AW: GPX-Dateien anzeigen
 
Liste der Anhänge anzeigen (Anzahl: 1)
wenn die Kompomnente richtig registriert ist, dann sollte es wie im Anhang aussehen( als Typbiblothek.)

DieDolly 23. Mär 2021 20:14

AW: GPX-Dateien anzeigen
 
So war es am Ende auch. Aber da man die zwingend auf allen Rechnern installieren muss wo nur die Exe nachher ausgeführt wird, fliegt die wieder raus. Sehr schade.

Sinspin 24. Mär 2021 07:20

AW: GPX-Dateien anzeigen
 
Ich habe einige Zeit mit Selbstregistrierung gearbeitet. Dann spart man sich das registrieren auf jedem Rechner.
Dafür brauchte man eine Manifest Datei (pro Module) mit ein paar kryptischen Einträgen.
Keine Ahnung ob das mit so schrecklich modernen Windows noch geht.

Ich bin dann jedenfalls auf andere Komponenten umgestiegen da irgendwann die Komponenten nach jedem Patchday ein anderes verhalten hatten.

Stichwort zur Technik ist Windows SXS (Side by Side).

ProgramName.manifest:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

   <assemblyIdentity name="ProgrammName.exe"
                     version="1.0.0.0"
                     type="win32"
                     processorArchitecture="x86"/>

  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>

  <!--file name="Clay.ocx">
      <comClass
          description="Yellow, green or brown clay"
          clsid="{CCB32152-B81E-11D2-AB74-0041234C3007}"
          threadingModel="Apartment"
          progid="Modules.Clay"
          tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}" />
    <typelib tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib>
  </file-->

  <dependency>
    <dependentAssembly>
      <assemblyIdentity name="Clay.sxs" version="1.0.0.0" type="win32" />
    </dependentAssembly>
  </dependency>
</assembly>
Clay.sxs.manifest
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity
    type="win32"
    name="Clay.sxs"
    version="1.0.0.0" />

  <file name="Clay.ocx">
    <comClass
        description="Yellow, green or brown clay"
        clsid="{CCB32152-B81E-11D2-AB74-0041234C3007}"
        threadingModel="Apartment"
        progid="Modules.Clay"
        tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}" />

    <typelib tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib>
  </file>

  <!--comInterfaceExternalProxyStub name="IOInterfaceEvent" iid="{CCB32153-B81E-11D2-AB74-0041234C3007}" tlbid="{CCB32150-B81E-11D2-AB74-0041234C3007}"></comInterfaceExternalProxyStub-->

</assembly>

DieDolly 24. Mär 2021 11:09

AW: GPX-Dateien anzeigen
 
Zitat:

Ich bin dann jedenfalls auf andere Komponenten umgestiegen
Würde ich auch gerne aber da scheint es nix zu geben für die Anzeige von GPX-Dateien in einer Map ohne ActiveX oder anderen Abhängigkeiten. Jedengfalls nichts, was funktioniert. Das von Sourceforge ist jedenfalls für die Tonne.

philipp.hofmann 24. Mär 2021 12:46

AW: GPX-Dateien anzeigen
 
Ich sehe gerade in der Antwort von Dir, dass Du hier etwas von mir missverstanden hattest:

"Wichtig bei der Google-Variante: wenn du diese unter Windows, MacOS oder iOS nutzt, kosten die Calls Geld" -> hier nimmt Google Geld, nicht TMS.

Sprich, wenn du eine Map über die Google-APIs einbindest, geht dies über einen Google-API-Key und Google rechnet alle Calls gegen diesen Google-API-Key ab. Eine bestimmte Anzahl an Calls pro Monat ist frei, danach kostet es Geld. Nur unter Android sind die meisten Calls kostenlos. Je nachdem um was es dir geht, solltest du daher eher nach einer Lösung basierend auf OpenStreetMap suchen. Ob es eine kostenlose Lösung für Delphi dafür gibt, kann ich dir nicht sagen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 Uhr.
Seite 3 von 4     123 4   

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf