Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3428 connectés 

 


Dernière réponse
Sujet : [VB] Est-il possible de faire des pointeurs de fonction en VB ?
[SDF]Poire Up :bounce:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
[SDF]Poire Up :bounce:
[SDF]Poire C pas possible car C pour un script (pas VB script script pour bot sur DC)....  :cry:  :cry:  :cry:

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]

karlkox Et bien pourquoi ne ferais tu pas une DLL qui exporterais ta méthode en C, méthode que tu appelerais depuis VB ? Ca peut etre une solution.
[SDF]Poire

Verdoux a écrit a écrit :

Ce que tu peux faire en VB est définir une interface (clase de base) qui définit une méthode puis des interfaces qui en hérite en spécialisant la méthode (=tes fonctions) et enfin une collection d'objets interface de base (que tu instancies avec des classes de spécialisation).  
 
 




Non C pas ça !!!  :cry:  :cry:  :cry:

[SDF]Poire

KarLKoX a écrit a écrit :

C'est théoriquement impossible, mais j'ai vu sur www.mvps.org, un article tres interessant (et tres chaud) permettant d'utiliser ce qu'on appel les vecteurs (amateur du C++ ;).
Leur exemple permettait d'ajouter, supprimer un pointeur dans ce vecteur, ce qui revient a un :
 
vector <PROPVECT> gs_PropsIn;  // Propvect = renvoye pointeur sur struct
 
gs_PropsIn.push_back ( le pointeur );
 
L'idée est d'implémenter cette méthode du C++ à VB ... bon courage !  




Moi je fais des tableau de pointeurs de fonction en C sans pb !!! :D

verdoux Ce que tu peux faire en VB est définir une interface (clase de base) qui définit une méthode puis des interfaces qui en hérite en spécialisant la méthode (=tes fonctions) et enfin une collection d'objets interface de base (que tu instancies avec des classes de spécialisation).

 

[edtdd]--Message édité par Verdoux--[/edtdd]

karlkox C'est théoriquement impossible, mais j'ai vu sur www.mvps.org, un article tres interessant (et tres chaud) permettant d'utiliser ce qu'on appel les vecteurs (amateur du C++ ;).
Leur exemple permettait d'ajouter, supprimer un pointeur dans ce vecteur, ce qui revient a un :
 
vector <PROPVECT> gs_PropsIn;  // Propvect = renvoye pointeur sur struct
 
gs_PropsIn.push_back ( le pointeur );
 
L'idée est d'implémenter cette méthode du C++ à VB ... bon courage !
[SDF]Poire Et pour faire un tableau de pointeurs de fonction ?
(En fait C ça que je veux faire)

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]

karlkox Tout a fait possible, avec le mot clé "AdressOf", voici un exemple qui permet de creer un timer (plus précis que celui de VB mais plus critique) :  
 
' dans un module
' l'api
Public Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
 
' Notre fonction callback, nous utiliserons adressof pour le paramettre lpTimerFunc de l'api (pointeur sur fonction)
Public Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long)
 
' mettre son code
 
end sub
 
' dans le form
Private sub Form_Load()
 
' On utilise un pointeur sur fonction en 4 eme paramettre pour l'API
SetTimer Me.hwnd, 0, 1000, AddressOf TimerProc
 
End sub
 
 
Si tu veux utiliser des pointeurs tout court, tu peux utiliser VarPtr, StrPtr et ObjPtr. J'ai trouvé une petite finte pour les utiliser qui consiste a copier le contenu du pointeur vers une variable avec "RtlMoveMemory" (plus connu sous le nom de CopyMemory).
[SDF]Poire Est-il possible de faire des pointeurs de fonction en VB ???
Et si oui comment on fait ???
(VB  :kaola: Delphi  :love: )

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)