U glavnom, dobio DLL koji u sebi ima funkcije koje mogu pozvati iz svog programa, jedino što ne zanam kako.
Ovo je opis funkcije:
int HM_upload(UINT port, char address, char FAR* sour_name, char FAR* dest_name)
Function description
Upload specified file from terminal (This function will not exit until whole file is uploaded. So user must wait for a while when file’s size is big. If user want to monitor the status of each packet ,please use HM_upload1 and HM_upload2)
Parameter
port :COM port
1-n for COM1 - COMn
address :Terminal address range form 'A'-'Y', '0'-'6'
sour_name :File name in terminal to be upload
dest_name :Assign new file name in PC (include path) If this new file was exist in PC, system will change it to non-exist file name automatically)
Returns
0,3,4,5,0x30,0x33,0x34 (Please return value table)
Ovako sam probao definirati u Delphi-u:
Function HM_Upload
(Port: integer;
Adress: WORD;
SourName: pChar;
DestName: pChar): word
StdCall; External 'C:\Projekti\XE\Sljedivost\Terminal\Test1\dll23-1\32bits\serial\multi32\MultiDLL.Dll';
i poziv iz programa:
var i: integer;
sName, dName: string;
begin
sName := 'ROBA.TXT';
DnAME := 'C:\Projekti\XE\Sljedivost\Terminal\Test1\ROBA.TXT';
i := HM_Upload(3, WORD('A'), @SnAME[1], @DNAME[1]);
ShowMessage(I.ToString);
compile programa prođe, ne javlja grešku. Run - program se sruši bez greške.
Iz priloženog program sam vidio da se spaja na COM3 i da mu dodjeljuje ime "A".
Nemam iskustva sa pozivanjem funk. iz dll i deklaracijama. Što je krivo? Može pomoć?