CreateOleObject(

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
ems
Beiträge: 4
Registriert: So 28. Feb 2021, 17:16

CreateOleObject(

Beitrag von ems »

Hallo allerseits und einen freundlichen Gruß in die Runde :-)

Ich versuche einen einfachen OLE-Aufruf, welcher unter D7 läuft, mit Lazarus 2.10 auszuführen. Leider bekomme ich immer eine Fehlermeldung, mit der ich nicht wirklich was anfangen kann.

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
   goTEST : OLEVariant;
   xtext : String;
begin
  try
   goTEST := CreateOleObject('TEST.EpsonTEST');
   xtext := goTEST.KindOfSelling(5);          
   ...
"Datentyp stimmt nicht überein!"

KindOfSelling( liefert einen String. Unter D7 funktioniert das auch problemlos.

Hat jemand einen Tip für mich

Vielen Dank im Voraus.

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: CreateOleObject(

Beitrag von theo »

Als Linuxer habe ich davon nicht viel Ahnung, aber versuch's doch mal mit

Code: Alles auswählen

xtext : WideString;
oder Variant?

ems
Beiträge: 4
Registriert: So 28. Feb 2021, 17:16

Re: CreateOleObject(

Beitrag von ems »

Hallo Theo,
funktioniert leider nicht.

Beim compilieren kommt nun die Meldung:

Code: Alles auswählen

unit1.pas(60,21) Note: Call to subroutine "operator :=(const source:OleVariant):AnsiString;" marked as inline is not inlined
Kann damit aber leider auch nichts anfangen :(

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: CreateOleObject(

Beitrag von sstvmaster »

LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

ems
Beiträge: 4
Registriert: So 28. Feb 2021, 17:16

Re: CreateOleObject(

Beitrag von ems »

Danke für die ganzen Hinweise. Habe es nun wie folgt gelöst.

Code: Alles auswählen

var
   xText : Variant;
begin
   ...
   xText := goTSE.KindOfSelling(int(5));
   ShowMessage(VarToStr(xText));   
   ...
end;

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: CreateOleObject(

Beitrag von PascalDragon »

ems hat geschrieben:
So 28. Feb 2021, 17:35
"Datentyp stimmt nicht überein!"

KindOfSelling( liefert einen String. Unter D7 funktioniert das auch problemlos.
Mit dem kommendem FPC 3.2.2 sollte das behoben sein.
ems hat geschrieben:
So 28. Feb 2021, 21:27
Beim compilieren kommt nun die Meldung:

Code: Alles auswählen

unit1.pas(60,21) Note: Call to subroutine "operator :=(const source:OleVariant):AnsiString;" marked as inline is not inlined
Kann damit aber leider auch nichts anfangen :(
Die Meldung ist für dein Problem nicht relevant. Sie teilt dir einfach nur mit, dass der Compiler eine Optimierung, die er hätte machen sollen, nicht gemacht hat.
FPC Compiler Entwickler

ems
Beiträge: 4
Registriert: So 28. Feb 2021, 17:16

Re: CreateOleObject(

Beitrag von ems »

Danke.

Antworten