IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Powerbuilder Discussion :

[PowerBuilder 10] API Function SetWindowPlacement


Sujet :

Powerbuilder

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut [PowerBuilder 10] API Function SetWindowPlacement
    Bonjour,

    j'utilise sous Powerbuilder l'API 32 SetWindowPlacement. La signature de la fonction est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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???
    Maestro said:
    Believe in our Work

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Ca dépend du langage que tu utilises mais en C pour calculer la taille d'une structure tu ferais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sizeof (windowplacement)
    Quel langage utilises-tu ? Il doit forcément exister dans ce langage une fonction ou instruction du langage qui permet de renvoyer la taille d'un type.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2003
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    J'utilise Powerbuilder 10. Le problème est que dans Powerbuilder n'existe pas de fonction qui donne la longueur d'une structure, hélas non. Normalement il faut compter les bytes et tout ca. J'ai compté et j'y arrive à 24 Bytes (6 * 4 Bytes) mais à ce qu'il parait c'est pas cela car la fonction SetWindowPlacement ne fonctionne pas avec 24 alors c pour cela que je ne sais pas comment compté.
    Maestro said:
    Believe in our Work

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Si cela peut t'aider chez moi sizeof( WINDOWPLACEMENT ) me renvoi 44.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut 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


Discussions similaires

  1. API Géoportail et Powerbuilder
    Par PHYLUM dans le forum IGN API Géoportail
    Réponses: 10
    Dernier message: 16/06/2014, 10h30
  2. [API Windows] Mouse Event Function
    Par thorium90 dans le forum Débuter
    Réponses: 1
    Dernier message: 04/04/2009, 13h46
  3. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  4. [PowerBuilder] Function PeekMessage Lib "user32"
    Par jpdar dans le forum Powerbuilder
    Réponses: 4
    Dernier message: 20/12/2005, 14h11
  5. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo