CallFunctionFast ähnliches in C++

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

CallFunctionFast ähnliches in C++

Beitrag von MVXA »

Hallo!
Ich hab da eine kurze Frage:
gibt es unter C++ etwas CallFunctionFast ähnliches? Ich meine, dass es
sowas gibt, aber ich kann mich nicht mehr errinern wie das aufgebaut ist
und finden tu ich auch nichts dazu :oops:.
Bild
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Was möchtest Du denn machen? In C/C++ codet man nicht
so wie in PB, sondern achtet auf Typensicherheit usw.

Um auf DLLs zuzugreifen nimmst Du am besten DLL-Imports,
so daß Du die DLL-Funktion direkt mit dem Namen im Source
verwenden kannst.

Ansonsten über Funktionspointer, wobei da auch direkt die
Argumenttypen angegeben werden. CallFunctionFast() ist
viel zu unsicher, da hier überhaupt nichts über die Argumenten-
anzahl und -typen bekannt ist.
Bei CallFunctionFast() mal ausversehen 1 Parameter zuviel
angegeben und der Crash ist nicht weit entfernt. Oder Du
übergibst unglücklicherweise Double statt Long...
Sowas ist einfach nur schlechter und unsicherer Coding-Style -
sollte man sich nicht erst angewöhnen.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Das mit dem schlechtem Codestil kann ich verstehen, aber ich Programmiere
gerade eine DLL und brauche dafür einen Callback zurück in das Programm,
dass die DLL geöffnet hat. Oder wie würdest du das am bessten lösen? Ich
habe mir das so gedacht, da ich das schon mal irgendwo gesehen habe, dass
jemand eine Function definiert hat und hinterher einen Pointer darin gespeichert
hat und so immer ein Callback zum Hauptprogramm hatte. Leider kann ich
mich nicht mehr errinern wo ich das gesehen habe und wie genau er dies
gemacht hat :oops:.

Edit:
Mir ist es wieder eingefallen, wie es ging. Aber errinern woher ich das habe
kann ich mich immer noch nicht :(. Jedenfalls sollte das so aussehen:
[c]int (_stdcall *extCallBack) (int iEvent);[/c]
Bild
Antworten