Wskaźniki funkcji w Delphi.

0

Mam <ort>proźbę </ort>czy może mi ktoś napisać odpowiednik w Delphi do przedstawionego poniżej fragmentu w C.

typedef struct {

	int (*funkcja_1)(char *p1, int p2, char *p3);

	void (*proc_1)(); 		

} interfejs_dll;

int funkcja(char *p1, int p2, char *p3){
	return 1;
}

void proc(){

}

interfejs_dll *i_dll;

void main(){

	i_dll->funkcja_1 = funkcja;
	i_dll->proc_1 = proc;

}


Chodzi mi głównie o deklaracje wskazników funkcji i procedur w rekordzie oraz o przypisanie funkcji do odpowiedniego wskaźnika.

Z góry dzięki za odpowiedź.

0

Dawno w Delphi nie pisałem i teraz nie mam zainstalowanego, ale to powinno być coś w tym stylu:

type f1 = function (p1: string; p2: Integer; p3: string);
type f2 = procedure ();
type interfejs_dll = record
	funkcja_1: f1;
	proc_1: f2; 		
end;

begin
	i_dll.funkcja_1 = @funkcja_1;
	i_dll.proc_1 = @proc_1;
end.
0
type f1 = function (p1: string; p2: Integer; p3: string):integer;

Do tego - jeśli to dll to chyba powinno się użyć pCharów. Ze stringami bywają problemy :>

0
type
     funkcja = function(p1,p2,p3 : PChar) : Integer;
     procedura = procedure; // bez param.


function bla(p1,p2,p3 : PChar) : Integer;
begin
 bla := 7;
end;

var fun : funkcja;
...

fun := bla;
0
nav napisał(a)
type f1 = function (p1: string; p2: Integer; p3: string):integer;

Do tego - jeśli to dll to chyba powinno się użyć pCharów. Ze stringami bywają problemy :>

Chyba, że na pierwszym miejscu listy uses biblioteki dołożysz moduł Sharemem.pas i do aplikacji dołączysz bibliotekę Borlndmm.dll (Borland Memory Manager).

1 użytkowników online, w tym zalogowanych: 0, gości: 1