Einzelnen Beitrag anzeigen

ustra

Registriert seit: 12. Mär 2003
Ort: Geesthacht
138 Beiträge
 
Delphi 5 Professional
 
#1

Problem beim Ausführen einer eigenen Com-Methode

  Alt 1. Okt 2006, 13:28
Hallo,

folgende Situation: Ich habe eine Anwendung in Delphi 5 (ich weiss, schon ein bißchen sehr alt) programmiert. Nun muss ich aus Excel diese aufrufen und will Werte übergeben, damit dieses Programm etwas berechnet und dann ein Ergebnis zurück liefert. Ich habe jetzt gesucht und bin auf Com-Objekte gestoßen.

Das habe ich jetzt auch soweit hinbekommen, dass ich aus Excel die Anwendung starten kann.

Ich habe eine Methode in Delphi wie folgt deklariert:

Delphi-Quellcode:
    
...
  function ausfuhr(Param1: OleVariant): OleVariant; stdcall;
...
implementation

function TBWP_Pro.ausfuhr(Param1: OleVariant): OleVariant; stdcall;
var datei :textfile;
begin
  AssignFile(datei, 'c:\datei.txt');
  Rewrite(datei);
  Writeln(datei, 'sdfdsf');
  Closefile(datei);
  ausfuhr := param1;
end;
Es scheint so, als wenn das Programm da nichts macht.

Ich rufe das Programm über folgende Zeilen in Excel auf:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim xlAnw As Project1.BWP_Pro   ' Variable für Verweis deklarieren
  Set xlAnw = CreateObject("Project1.BWP_Pro")
  Dim s As Variant
  s = xlAnw.Open("sdfdf")
  Set xlAnw = Nothing
End Sub
Ich sehe auch, dass die Anwendung geöffnet wird und auch wieder schließt ohne eine Fehlermeldung auszugeben. Zum Testen lasse ich eine Datei erstellen und es wird in c:\ keine Datei erstellt.
Es wird auch Text zurückgegeben in Excel.

Was mache ich falsch? Kann mir jemand bitte helfen.

Vielen Dank
Ulrich
Angehängte Dateien
Dateityp: zip project1_103.zip (14,6 KB, 1x aufgerufen)
Ulrich Strauer
  Mit Zitat antworten Zitat