Hallo zusammen!
Habe Solidworks wie vorgeschrieben als COM-Referenz in mein Visual-C#-Express-Projekt eingebunden und würde nun gerne ICreateTransform nutzen. Die API-Hilfe sagt dazu folgendes:
Zitat:
Syntax (COM)status = MathUtility->ICreateTransform ( ArrayData, &Transform )
Input:
(double*) ArrayData
Sixteen (16) components of the transform (see Remarks)
Output:
(LPMATHTRANSFORM*) transform
Newly created MathTransform object or NULL if the operation fails
Return:
(HRESULT) status
S_OK if successful
Wenn ich nun Visual C# Express
Code:
return swApp.IGetMathUtility().ICreateTransform(
eingebe, sagt das Tooltip, dass es gerne Code:
ref double ArrayDataIn
übergeben bekäme.Jetzt habe ich aber, wie es die API-Hilfe auch verlangt, ein sechzehnelementiges Array, das bei mir data heißt. Übergebe ich nun
Code:
ref data
bekomme ich folgende Fehlermeldung:Code:
Fehler 1 Die beste Übereinstimmung für die überladene SldWorks.IMathUtility.ICreateTransform(ref double)-Methode hat einige ungültige Argumente. C:\Projects\Kabine\Kabine\UserInput.cs 74 20 Kabine
Fehler 2 1-Argument: kann nicht von "ref double[]" in "ref double" konvertiert werden. C:\Projects\Kabine\Kabine\UserInput.cs 74 65 Kabine
Wie übergebe ich das Array korrekt?Viele Grüße
Krzysztof
PS.: Habe das Thema auch schon auf mycsharp.de gepostet.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP