Delphi-PRAXiS
Seite 35 von 55   « Erste     25333435 363745     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Google Maps über COM (Component Object Model) (https://www.delphipraxis.net/157004-google-maps-ueber-com-component-object-model.html)

Thom 22. Nov 2012 23:28

AW: Google Maps über COM (Component Object Model)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das kommt in der Version 3 - die 2 unterstützt das noch nicht, da die Eigenschaft Visible erst relativ neu ist.
Das Polyline-Objekt selbst unterstützt die Sichbarkeit nur über Getter- und Setter-Methoden. Du kannst das Objekt aber jetzt schon selbst erweitern (Unit gmOverlaysPolylinePolygon):
Delphi-Quellcode:
  TPolyline = class(...)
    [...]
  public
    procedure SetVisible(Value: Boolean);
    function GetVisible: Boolean;
    [...]
  end;

procedure TPolyline.SetVisible(Value: Boolean);
begin
  Exec('setVisible',[Value]);
end;

function TPolyline.GetVisible: Boolean;
begin
  Result:=VarAsBoolean(Exec('getVisible'));
end;
Das Problem mit den Scrollbars kann ich bei mir nicht reproduzieren. Ich hatte das mit zwei TWebBrowser-Komponenten nebeneinander getestet - der eine mit einer Karte, der andere mit der Google-Suchseite. Die Google-Suchseite wird korrekt mit einer horizontalen und einer vertikalen Leiste angezeigt:
Anhang 38118
Das müßte bei Dir also andere Ursachen haben. Welche IE-Version verwendest Du?

HJay 23. Nov 2012 11:29

AW: Google Maps über COM (Component Object Model)
 
Zitat:

Zitat von Thom (Beitrag 1192498)
Das müßte bei Dir also andere Ursachen haben. Welche IE-Version verwendest Du?

Interessant! Es hängt scheinbar von der Website ab, ob Scrollbars angezeigt werden oder nicht. Was es nicht alles gibt.

Wenn ich google.de verwenden, dann habe auch ich Scrollbars, wenn ich zum Beispiel geocaching.com verwende, dann bleibt das Feld ohne Scrollbars, obwohl es bei weitem nicht passt.

Meine eigenen Inhalte schiebe ich eigentlich als HTML-Rohtext direkt ins WebBrowser.Document und da entstehen nie Scrollbars.

HJay 23. Nov 2012 11:41

AW: Google Maps über COM (Component Object Model)
 
Zu Visible: Der Compiler verweigert "Exec('setVisible',Value);" als "es gibt keine überladene Version, die mit diesen Argumenten aufgerufen werden kann.

Ich nehme aber eigentlich auch an, dass man Visible in PolylineOptions genau analog und parallel zur Option "Editable" ergänzen müsste.

Thom 23. Nov 2012 12:09

AW: Google Maps über COM (Component Object Model)
 
Sorry - da fehlten die eckigen Klammern um den Parameter. :pale:

Bei den PolylineOptions hast Du Recht: Das sind aber Properties (Ansprechbar mit GetPropAs...() und SetProp()), Methoden werden mit Exec() aufgerufen.

HJay 23. Nov 2012 12:51

AW: Google Maps über COM (Component Object Model)
 
Klappt jetzt mit TPolyline.visibility. Sehr praktisch so!

Vielen Dank! Was für ein klasse Support!

Thom 23. Nov 2012 14:38

AW: Google Maps über COM (Component Object Model)
 
Danke! :-D

Ich habe die Sache mit den nicht sichtbaren Scroll-Leisten bei mir noch einmal untersucht.
Das Problem ist, daß der IE, wenn er als ActiveX - zum Beispiel in Form des TWebBrowser's - arbeitet, anders reagiert, als der Browser selbst. Er arbeitet dann nämlich standardmäßig als IE7 (!).
Abhilfe schafft ein neuer Eintrag in der Registry:
HKEY_CURRENT_USER\Software\{Wow6432Node\}Microsoft \Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULA TION (ohne die von der Forensoftware eigenmächtig eingefügten Leerzeichen!!! :evil:)
Dort muß der Name des eigenen Programmes eingetragen werden (ohne Pfad - also zum Beispiel "Project1.exe") mit einem DWord-Wert. Dieser Wert ist abhängig von der verwendeten Browser-Version und beträgt beim
  • IE8: 8000 ($1F40)
  • IE9: 9000 ($2328)
  • IE10: 10000 ($2710)
Dann werden auch die Scrollbars angezeigt. :)

HJay 23. Nov 2012 16:25

AW: Google Maps über COM (Component Object Model)
 
@Thom: Krasse Angelegenheit! Wie soll man darauf kommen oder genauer gesagt, wie kommst du auf so etwas?! Echter Wahnsinn.

Leider hat der Registry-Hack bei mir noch nicht funktioniert. Einen Schlüssel "Wow6432Node" gabe es schon und darunter blieben die neuen Schlüssel wirkungslos; einen Schlüssel mit geschweiften Klammern und Backslash darf man nicht anlegen und ein Schlüssel "{Wow6432Node}" brachte auch nicht den Erfolg. "Internet Explorer" habe ich jeweils mit und ohne Leerzeichen probiert, alle anderen Leerzeichen weggelassen.

Muss das System zur Wirkung neu gebootet werden?

Ergänzung: Microsoft schreibt unter http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx folgenden Schlüssel in HKEY_LOCAL_MACHINE und dort gibt es tatsächlich auch schon den gesamten Schlüsselbaum bis ganz unten. Aber auch dort hat die Ergänzung meiner exe-Datei bisher keinen Erfolg gehabt.
Code:
HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Internet Explorer
            Main
               FeatureControl
                  FEATURE_BROWSER_EMULATION
                     contoso.exe = (DWORD) 00009000

Thom 23. Nov 2012 16:35

AW: Google Maps über COM (Component Object Model)
 
Die geschweifte Klammer war nur als Option gedacht, falls man ein 64Bit-System besitzt und eine 64Bit-Exe kompiliert. Bei einem 32Bit-Windows oder eine 32Bit-Exe muß das einfach herausgelassen werden.
"Internet Explorer" bitte mit Leerzeichen - nur die anderen Leerzeichen wurden von der Forensoftware (wäre schön, wenn Daniel das mal ändern könnte) hinzugefügt.
Ein Neustart des Systems ist nicht notwendig - lediglich das eigene Programm muß neu gestartet werden (falls es gerade läuft).

HJay 23. Nov 2012 16:44

AW: Google Maps über COM (Component Object Model)
 
Hm, bei mir ohne Wirkung.

Unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULA TION\ hat es auch keine Wirkung gezeigt, weder mit Project1.exe als Mini-Test-Version analog Deiner Fassung noch mit dem richtigen Programm.

Thom 23. Nov 2012 16:49

AW: Google Maps über COM (Component Object Model)
 
Probier's bitte mal mit HKEY_CURRENT_USER.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.
Seite 35 von 55   « Erste     25333435 363745     Letzte »    

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