Thema: Prism DLL mit arry Übergabe

Einzelnen Beitrag anzeigen

ueding

Registriert seit: 21. Aug 2005
30 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: DLL mit arry Übergabe

  Alt 9. Jan 2006, 20:25
Danke schonmal für die schnelle Antwort

Zitat:
dann kannst du nicht einfach im haputprogramm const, statt var schreiben, wenn du var in der dll definiert hast:
das weis ich auch das das nicht geht, es wäre nett wenn Ihr den Code passend vervolständigen könnt, wie muss den die Funktion in der DLL aussehen

DLL
Delphi-Quellcode:
..
procedure test(i:integer; var ???? TREC oder adresse );
begin
..
in der Hostanwendung

Delphi-Quellcode:
procedure test(i:integer; ??const ff: PTREC ); stdcall; external 'dll_projekt1.dll'; unsafe;
// wie muss die Procedure deklariert werden
.
.
.


procedure TWinForm.Button1_Click(sender: ...) unsafe;


begin
// wie muss der Auruf jetzt sein
  test(???? 1,PTREC);

  textbox1.Text := adresse[1].nachname;
  textbox2.Text := adresse[1].vorname;
Zitat:
evtl. solltest du noch genauer erklären, was du machen willst, denn du kannst z.b. statt dem übergeben des pointers auch einfach eine funktion mit result definieren..
in der DLL wird das Array mit Adressen gefüllt, diese werden dann nach später in der Hostanwendung weiter verarbeitet.

Zitat:
ps: was macht der "parameter" unsafe?
So wird bei .Net in DLL's unsicherer Code gekennzeichnet, z.B. wenn Pointer im spiel sind.

Zitat:
.NET-Dlls haben einen komplett anderen Aufbau als Win32-Dlls, du kannst von einem Win32-Programm keine Funktionen einer .NET-Dll aufrufen (vice versa geht es per P/Invoke).
ich habe schon eine DLL erstellt aus der ich aus einer win32 Anwendung eine .NET DLL aufrufe, und .Net Funktionen ausführe, klappt hervoragend.

Gregor
  Mit Zitat antworten Zitat