Code: Alles auswählen
procedure TForm1.btnBerechnenClick(Sender: TObject);
begin
pIGraphic:= TCApp.ActiveDrawing.Graphics_; //pIGraphic ist ein Graphic Objekt
BBox:= pIGraphic.CalcBoundingBox(VarDummy); //BBox ist ein BoundingBox Objekt, VarDummy ist OLEVariant - Hier ist der Fehler irgendwo!
//ShowMessage(FloatToStr(BBox.Min.X));
end;
In VisualBasic brauch ich keinen zusätzlichen OLEVariant. Mich wundert es, dass ObjectPascal dieses voraussetzt.
In VisualBasic funktioniert das auch ohne Probleme. Das muss doch mit Lazarus auch zu lösen sein!
Die entsprechende Zeile im Wrapper:
Code: Alles auswählen
function CalcBoundingBox(var Transform: OleVariant): BoundingBox; safecall;
Ich kann mir nicht erklären warum es nicht funktioniert. Es kompiliert auch anstandslos! Aber nach der Ausführung des Code Abschnittes, bekomme ich diese Fehlermeldung:
Projekt xxx hat Exception-Klasse 'EOleException' ausgelöst mit der Meldung: Falscher Parameter.