Hallo,
bei einer dynamischen Bindung einer Dll Funktion bekommt man den Funktionspointer über den Funktionsnamen mit der Funktion GetProcAddress.
Gibt es eine Function mit der man den Funktionspointer ohne dynamischen Bindung einer Dll Funktion in einer FP-Unit mit dem Funktionsnahmen erhalten kann.
Ich möchte den Funktionspointer über ein Array von Funktionsnamen automatisch im Code erzeugen und die Funktion über den Pointer aufrufen.
Vielen Dank für eure Infos.
Grüsse Acia6850
(Gelöst) Funktions Pointer über Funktionsname erhalten.
-
Acia6850
- Beiträge: 65
- Registriert: Mo 9. Okt 2023, 18:45
- OS, Lazarus, FPC: Windows + WSL / Linux Debian Rasbian OS (L 3.4.0 FPC 3.2.3)
- CPU-Target: 64Bit
- Wohnort: LK Ludwigsburg
(Gelöst) Funktions Pointer über Funktionsname erhalten.
Zuletzt geändert von Acia6850 am So 24. Mai 2026, 18:41, insgesamt 1-mal geändert.
-
Mathias
- Beiträge: 7298
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Funktions Pointer über Funktionsname erhalten.
Meinst du sowas ähnliches wie es bei modernen OpenGL der Fall ist ?Ich möchte den Funktionspointer über ein Array von Funktionsnamen automatisch im Code erzeugen und die Funktion über den Pointer aufrufen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
Warf
- Beiträge: 2301
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Funktions Pointer über Funktionsname erhalten.
Für Typen gibt es Runtime Type Information (RTTI) worüber man die Methoden von Objekten finden kann. Für normale Funktionen gibts sowas soweit ich weiß nicht direkt. Du könntest natürlich die Debug Infos des eigenen Programms auslesen. Aber selbst das ist nicht unbedingt garantiert da nicht jede Funktion die man schreibt im Kompilat auch vorhanden ist (smart linking, Inlining, etc.)
Einfacher ists aber wenn du einfach einen statischen array anlegst mit allen funktionspointern anzulegen. Entweder manuell pflegen oder automatisiert erzeugen lassen
Einfacher ists aber wenn du einfach einen statischen array anlegst mit allen funktionspointern anzulegen. Entweder manuell pflegen oder automatisiert erzeugen lassen
-
Acia6850
- Beiträge: 65
- Registriert: Mo 9. Okt 2023, 18:45
- OS, Lazarus, FPC: Windows + WSL / Linux Debian Rasbian OS (L 3.4.0 FPC 3.2.3)
- CPU-Target: 64Bit
- Wohnort: LK Ludwigsburg
Re: Funktions Pointer über Funktionsname erhalten.
Vielen Dank für die schnelle Hilfe.
Ich werde es mit einem statisch Array machen.
Grüsse Acia6850
Ich werde es mit einem statisch Array machen.
Grüsse Acia6850