Einzelnen Beitrag anzeigen

runger
(Gast)

n/a Beiträge
 
#1

C++ DLL in Delphi einbinden

  Alt 1. Jul 2004, 05:59
Hallo,
ich habe folgendes Problem:
ich möchte eine in C++ geschriebene DLL in Delphi benutzen.
Die Deklaration der einzigen Funktion ist bekannt:

Code:
- int versacom(TRAB *tr, char * otrailer),
- TRAB Struktur:

TRAB    {
           int       prio;                   
   int   typ;            
   int   optim,             
             repeat,                                   service,               
      tel_hie,            
                  group_tra;            
      int    station;
            AVER   aver;               
AVERI   averi;                         
   long   duration;         
   char   value[6];                
   int   tostate,                
                   tipair,                 
                   pronum,                 
                   ontime,                
                   offtime;
           char   b1;            
           int   promask,
                   wkday,
      time_cycle,
                   fun;
   char   loadtel[26],         
      lt_ntrail[26],          
      msg[70],          
      msg_bin[200];          

- AVER und AVERI Struktur:

AVER { 
   uchar   region,
            section[4],
      class[2],
      division[2];
      };

AVERI { 
   long   senu;
   int   relay;   
      };
In Delphi hab ich die Typdeklarationen so festgelegt:

Delphi-Quellcode:
type
  AVER=record
    region:char;
    section:string[4];
      clas:string[2];
      division:string[2];
  end;

  AVERI=record
   senu:longint;
   relay:integer;
  end;

  TRAB=record
     prio:integer;   
     typ:integer;            
     optim:integer;   
     repeate:integer;
     service:integer;          
     tel_hie:integer;      
     group_tra:integer;    
     station:integer;
     aver:aver;            
     averi:averi;         
     duration:longint;         
     value:string[6];       
     tostate:integer;    
     tipair:integer;
     pronum:integer;
     ontime:integer;
     offtime:integer;
     b1:char;   
     promask:integer;
     wkday:integer;
     time_cycle:integer;
     fun:integer;
     loadtel:string[26];         
     lt_ntrail:string[26];         
     msg:string[70];         
     msg_bin:string[200];
end;
Nun gibts zwei Probleme:

1.) Wenn ich versuche die Funktion zu deklarieren nimmt er nur einen Parameter.

2.) Ich bekomme was ich auch tue eine Zugriffsverlezung.

Weiss jemand weiter?

Rainer
  Mit Zitat antworten Zitat