Wie lassen siech die zwei Zeilen in Delphi formulieren?
<PRE>
IiwAddress iwAddress;
iwAddress.AttachDispatch( iwGeoAddress.GetAddress(), FALSE );
</PRE>
CreateDispatch habe ich bereits konvertiert.
In Delphi geht es so:
<PRE>
var
iwGeoPoint: IiwGeoPoint;
begin
iwGeoPoint := CreateComObject(CLASS_iwGeoPoint) as IiwGeoPoint;
</PRE>
Den restlichen Code habe ich soweit verstanden und kommentiert.
Es geht nur noch um das AttachDispatch (etwa in der mitte):
(Sorry für die nicht funktionierden CodeTags)
<PRE>
const long addressNum = 2;
//Anlegen von drei array of String für die Lon, Lat-Position und für die Straßen
CString xCoords[addressNum] = {"-256781", "-248770"};
CString yCoords[addressNum] = {"5687", "-2340"};
CString streetNames[addressNum] = {"Karl-Heinz-Strße", "Frankfurter Straße"};
// Erzeuge ein ComObject welches später mit den Adress ComObjecten gefült wird
IiwGeoAddresses iwGeoAddresses;
iwGeoAddresses.CreateDispatch("IwGeoObjects.iwGeoA ddresses.1");
for ( int iAddress = 0; iAddress < addressNum; iAddress++ )
//Erzeuge für jede Adresse eine GeoAdress ComObject (beinhaltet die Geokodierung der Adresse)
IiwGeoAddress iwGeoAddress;
iwGeoAddress.CreateDispatch("IwGeoObjects.iwGeoAdd ress.1" );
//Ich vermute: Ableiten eines Adresse-ComObjects aus dem GeoAdresse-ComObject
IiwAddress iwAddress;
iwAddress.AttachDispatch( iwGeoAddress.GetAddress(), FALSE );
//Ich vermute: Ableiten eines GeoPoints-ComObjects aus dem GeoAdresse-ComObject
IiwGeoPoints iwGeoPoints;
iwGeoPoints.AttachDispatch( iwGeoAddress.GeoPoints(), FALSE );
//Erzeuge für jede Adresse eine GeoPoint ComObject (nur die Punkte für die Darstellung auf der Karte)
IiwGeoPoint iwGeoPoint;
iwGeoPoint.CreateDispatch( "IwGeoObjects.iwGeoPoint.1" );
//Setze die Beschriftungen der Straße unterhalb vom Punkt auf der Karte
BOOL encoded = FALSE;
iwGeoPoint.SetPointString( xCoords[iAddress], yCoords[iAddress], "LCC_GERMANY", encoded );
//GeoPoints ist eine Liste für GeoPoint ComObjects
iwGeoPoints.AddGeoPoints( iwGeoPoint );
//GeoAddresses ist eine Liste für GeoAddress ComObjects
iwGeoAddresses.AddGeoAddrress( iwGeoAddress );
}
</PRE>
Gruß
Kostas & Gitta
<PRE>
IiwAddress iwAddress;
iwAddress.AttachDispatch( iwGeoAddress.GetAddress(), FALSE );
</PRE>
CreateDispatch habe ich bereits konvertiert.
In Delphi geht es so:
<PRE>
var
iwGeoPoint: IiwGeoPoint;
begin
iwGeoPoint := CreateComObject(CLASS_iwGeoPoint) as IiwGeoPoint;
</PRE>
Den restlichen Code habe ich soweit verstanden und kommentiert.
Es geht nur noch um das AttachDispatch (etwa in der mitte):
(Sorry für die nicht funktionierden CodeTags)
<PRE>
const long addressNum = 2;
//Anlegen von drei array of String für die Lon, Lat-Position und für die Straßen
CString xCoords[addressNum] = {"-256781", "-248770"};
CString yCoords[addressNum] = {"5687", "-2340"};
CString streetNames[addressNum] = {"Karl-Heinz-Strße", "Frankfurter Straße"};
// Erzeuge ein ComObject welches später mit den Adress ComObjecten gefült wird
IiwGeoAddresses iwGeoAddresses;
iwGeoAddresses.CreateDispatch("IwGeoObjects.iwGeoA ddresses.1");
for ( int iAddress = 0; iAddress < addressNum; iAddress++ )
//Erzeuge für jede Adresse eine GeoAdress ComObject (beinhaltet die Geokodierung der Adresse)
IiwGeoAddress iwGeoAddress;
iwGeoAddress.CreateDispatch("IwGeoObjects.iwGeoAdd ress.1" );
//Ich vermute: Ableiten eines Adresse-ComObjects aus dem GeoAdresse-ComObject
IiwAddress iwAddress;
iwAddress.AttachDispatch( iwGeoAddress.GetAddress(), FALSE );
//Ich vermute: Ableiten eines GeoPoints-ComObjects aus dem GeoAdresse-ComObject
IiwGeoPoints iwGeoPoints;
iwGeoPoints.AttachDispatch( iwGeoAddress.GeoPoints(), FALSE );
//Erzeuge für jede Adresse eine GeoPoint ComObject (nur die Punkte für die Darstellung auf der Karte)
IiwGeoPoint iwGeoPoint;
iwGeoPoint.CreateDispatch( "IwGeoObjects.iwGeoPoint.1" );
//Setze die Beschriftungen der Straße unterhalb vom Punkt auf der Karte
BOOL encoded = FALSE;
iwGeoPoint.SetPointString( xCoords[iAddress], yCoords[iAddress], "LCC_GERMANY", encoded );
//GeoPoints ist eine Liste für GeoPoint ComObjects
iwGeoPoints.AddGeoPoints( iwGeoPoint );
//GeoAddresses ist eine Liste für GeoAddress ComObjects
iwGeoAddresses.AddGeoAddrress( iwGeoAddress );
}
</PRE>
Gruß
Kostas & Gitta
Comment