[PowerBuilder 10] API Function SetWindowPlacement
Bonjour,
j'utilise sous Powerbuilder l'API 32 SetWindowPlacement. La signature de la fonction est la suivante:
Code:
Function long SetWindowPlacement (Long hwnd, st_windowplacement lpwndpl) LIBRARY "user32.dll"
st_windowplacement est une structure. Je dois savoir la longueur d'une structure. Le problème est que je n'arrive pas à bien calculer la longueur de la structure.
la structure est la suivante
Code:
1 2 3 4 5 6 7 8
| global type st_windowplacement from structure
long length
long flags
long showcmd
st_pointapi ptminposition
st_pointapi ptmaxposition
st_rect rcnormalposition
end type |
Normalement ça devrait être 24 Bytes mais cela ne marche pas.
La fonction API dit que si la longueur n'est pas exacte cela ne fonctionnera pas.
Peut-être des idées???
Calcul de la taille d'une structure C
Va voir dans la doc PB - Application Technics, normalement on y explique comment faire pour convertir convenable des type de données C en PB.
Dans ton cas, tu as besoin de créer une structure PB équivalente, définir le la signature de l'external function (avec les bon types PB et la structure PB par REF), puis de l'appelée.
Tu peux aussi allez-voir sur ces liens http://www.pbdr.com/pbtips/ap/cppdtcnv.htm
http://www.pbdr.com/pbtips/ap/str2dll.htm
8-)