![]() |
Zuweisung von Variablen verschiedenen Typs
Hallo,
ich muss ein Prüfgerät mittels DCOM automatisieren. Grundsätzlich funktioniert es schon gut. Leider hat der Prüfanlagenhersteller an einer Stelle eine Methode (Order) für zwei Typen(IOrder und IBatch) zusammengefasst: aus Handbuch: HRESULT Order([out, retval] IOrder **ppOrder): Get pointer to Order object Order object manages interfaces IOrder and IBatch In einem Beispiel in Visual Basic funktioniert es so: Private Sub btnCreateBatch_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles btnCreateBatch.Click Dim m_IOrder As QvDefinition.IOrder Dim m_IBatch As QvDefinition.IBatch m_IOrder = m_QvAutomation.Order //Get pointer to Order object m_IBatch = m_IOrder ... In Delphi erhalte ich beim Übersetzen den Fehler "Inkompatible Typen: 'IOrder' und 'IBatch'":
Delphi-Quellcode:
Wie kann ich in Delphi die Variable unterschiedlichen Typs zuweisen wie im Basicprogramm?
procedure TForm1.BtnCreateBatchClick(Sender: TObject);
var m_IOrder : iorder; m_IBatch : IBatch; begin m_IOrder := m_QvAutomation.Order; //Get pointer to Order object m_IBatch := m_Iorder; //[Fehler] TestU.pas(244): Inkompatible Typen: 'IOrder' und 'IBatch' {...} end; Viele Grüße windmaster |
AW: Zuweisung von Variablen verschiedenen Typs
Verwende einen übergeordneten Typ oder einen Variant
Btw. Delphi ist halt streng typisiert |
AW: Zuweisung von Variablen verschiedenen Typs
Delphi-Quellcode:
sollte auch compilieren. Ob es dann auch funktioniert musst du ausprobieren.
m_IBatch := m_IOrder as IBatch;
|
AW: Zuweisung von Variablen verschiedenen Typs
hat so funktioniert... (Ich war wohl krank als der Operator as dran war)
Besten Dank für die schnelle und gute Antwort. Viele Grüße windmaster |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz