Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Probleme mit Olevariant in Activex (https://www.delphipraxis.net/203139-probleme-mit-olevariant-activex.html)

EMxRay 16. Jan 2020 19:07

Delphi-Version: 10.3 Rio

Probleme mit Olevariant in Activex
 
Hallo an die Experten,

ich bin Neuling in Delphi seit letztem Jahr und programmiere nur gelgentlich in meiner Freizeit. Vorkenntnisse sind VB, cSharp. Aber alles selber beigebracht durch Bücher und Inet.
Habe jetzt ein größeres Projekt in Delphi begonnen, ist auch kurz vor Fertigstellung. Es fehlen nur noch ein paar Logging Funktionen und Fehlerabfragen.
Und hier mein Problem:
Ich habe ein ocx eingebunden und eine tlb erstellen lassen. Alles soweit ok, ich kann darüber mit einem Server kommunizieren. Kommandos, Befehle, Parameter abfragen, alles wunderbar. (ist eine Gerätesteuerung)
Nur die Funktion zur Fehlerabfrage will nicht.

Die Deklaration in der tlb lautet:

function TApi.GetLastError(var Error: OleVariant): Integer;

Mein Aufruf im Programm:

Delphi-Quellcode:
function GetLastRemoteError(var Buffer: WideString): Boolean;
var
  tmp: OleVariant;

begin
  tmp:= '';
  iG_Ret:= FRM_BackGrd.EMAPI.GetLastError(tmp);
  Buffer:= tmp;
  Result:= True;
end
Die Beschreibung der ocx Funktion lautet:

long GetLastError(VARIANT* Error)
[out] Error is the error string associated with the error code for the last error
Remarks:
This call will return a VT_BSTR VARIANT associated with the last error.
Return Value:
If the call succeeds, it returns 0. If the call fails, an error code is returned from the function.

Ich bekomm als Ergebnis (Buffer Variable) nur die Meldung 'unable to translate mnemonic'.
Wenn ich die tmp Variable nicht mit ='' zuweise, bekomme ich nur 'nichts zugewiesen' zurück.
Ich hab diverse Varianten durchprobiert (Array, Pointer), aber nichts hilft.
Hat jemand eine Idee, was ich da nicht richtig mach?

Gruß,
Heinz


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.

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