Einzelnen Beitrag anzeigen

Primus

Registriert seit: 16. Sep 2002
Ort: Werneuchen
32 Beiträge
 
#1

String an VB Dll übergeben geht nicht

  Alt 18. Mär 2010, 13:21
Hallo Zusammen,

ich stehe hier gerade vor dem Problem an unsere Serviceapplication ein externes Dokumentenmanagement anzubinden.
Eigentlich kein Problem, da es eine gut Dokumentierte Schnittstelle per VB-Dll gibt, leider hab ich das Problem
das ich keinen String an die Dll übergeben kann.

Zuersteinmal hier die VB Deklaration:

Declare Function FindDoc Lib "MACRODLL.DLL" (ByVal Suchstr$, ByRef DocIdString$) As Long

Hier nun die Delphi Variante

Delphi-Quellcode:
 function FindDoc(pSQLCommand,ppDocumentID:pchar):longint; stdcall; external 'Macrodll.dll';

procedure TfrmKaufvertragsinformation.Button1Click(Sender: TObject);
var
 SQLString : PChar;
 result,FileId,FilePath,FileTypeName,FileName,p :pchar;
 Handle:integer;
begin
 LoginAuthDip('ABCD',False);
 SQLString := 'KDNR = ''B79568''';

 if FindDoc(SQLString,result) >0 then
 begin
  Handle := OpenDoc(result);
  if Handle > 0 then
 begin
   FindFirstFileID(Handle,FileId);
   GetProxessFile(Handle,FileId,FilePath,FileTypeName,FileName);
   Showmessage(FilePath+' '+FileName);
   CloseDocUnsaved(Handle);
 end;
end;
Von dem SQLStrig kommt bei der Dll nur ein 'K' an. Und das verstehe ich garnicht...

Hat jemand ne Idee oder hab ich jetzt nur nen Brett vor dem Kopf und sehe das warscheinlichste nicht?

Danke schon mal,

Primus
  Mit Zitat antworten Zitat