Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
Est-ce que quelqu'un a déjà essayé d'implémenter les graphiques MS Chart Controls dans PB ?
Article : Using the Microsoft Chart Controls in PowerBuilder
Source : graphcontrol.zip
J'ai bien installé le framework .NET v3.5 SP1 et les Chart Controls pour .NET 3.5.
J'ai l'erreur suivante à l'appel du composant :
Y a-t-il autre chose à faire au préalable ? des DLL, OCX, ... à prendre en compte / intégrer ?
Hors ligne
Tu es bien en PB12 ?
Hors ligne
je suis en v11.5,
dans la v12 ça sera supporté nativement et l'exemple est sensé fonctionner en versions antérieures à la 12 :
Bruce Armstrong a écrit:
As a .NET visual control we should be able to use it "natively" within PowerBuilder .NET targets once PB 12 is released. However, for those using the current (pre-12.0) versions of PowerBuilder, and those who will still be creating Win32 target applications even after moving to PB 12, it would still be nice to be able to use that control. This article will show you how to do that.
Hors ligne
j'ai toujours entendu dire que PB11.5 n'était pas compatble avec le framework 3 de .NET ...mais bien avec le framework 2
Hors ligne
si une (ou plusieurs) âme(s) charitable(s) avai(en)t 15 minutes à consacrer (il ne faut pas plus que ça) pour tester cet exemple de leur côté, je leur en serais infiniment reconnaissant
Hors ligne
BRWA a écrit:
j'ai toujours entendu dire que PB11.5 n'était pas compatble avec le framework 3 de .NET ...mais bien avec le framework 2
en fait il a créé un "wrapper" COM
l'object utilisé (u_chart) est hérité d'un olecustomcontrol et bizarrement la propriété controlname est vide
c'est pour cela que je me demande s'il ne faut pas déclarer l'objet COM
la seule DLL du zip est InteropGraph.dll et un regsvr32 de cette dernière échoue
Hors ligne
Pas mieux de mon coté. J'ai le même message d'erreur.
Hors ligne
Tu as regardé le fichier InteropGraph.csproj.FileListAbsolute.txt?
On dirait qu'il a codé ça dans Visual Studio 2005. Les directories sont peut-être à changer à ce niveau?
Hors ligne
Bon, j'ai recréé le user object u_chart de zéro en le basant sur la dll InterOrpGraph.dll. Maintenant, j'ai bien un objectname (Package) et je vois bien le contrôle dans le userobject. Reste que j'ai toujours le message. Il va falloir encore un peu creuser.
Hors ligne
foon a écrit:
Tu as regardé le fichier InteropGraph.csproj.FileListAbsolute.txt?
On dirait qu'il a codé ça dans Visual Studio 2005. Les directories sont peut-être à changer à ce niveau?
je pense que c'est uniquement pour la compil du projet sous VS2005
en principe la DLL générée devrait suffire (?)
Hors ligne
erasorz a écrit:
je pense que c'est uniquement pour la compil du projet sous VS2005
en principe la DLL générée devrait suffire (?)
C'est effectivement ce que je pense. Malheureusement, je n'ai pas VisualStudio sur ma machine pour pouvoir vérifier tout ça.
Maintenant, j'ai fait le test sur la dll du dossier "Obj", et je vois qu'il y en a une aussi dans le "bin". Laquelle est la bonne?
Hors ligne
foon a écrit:
Maintenant, j'ai fait le test sur la dll du dossier "Obj", et je vois qu'il y en a une aussi dans le "bin". Laquelle est la bonne?
les 2 DLL sont identiques, voici d'ailleurs l'assembly qu'on y trouve
<!-- You don't need to worry about anything in this file unless you're using registration-free COM. There should be an appropriate <clrclass> section for every InteropUserControl defined in the project --> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="InteropGraph" version="1.0.0.0" /> <clrClass clsid="{4753d946-d428-48ee-b175-62d47c9b1d8f}" progid="InteropGraph.InteropUserControl" threadingModel="Both" name="InteropGraph.InteropUserControl" > </clrClass> </assembly>
en fait je ne trouve nulle part ce composant InteropGraph en browsant sur les OLE/COM existants
Hors ligne
foon a écrit:
Bon, j'ai recréé le user object u_chart de zéro en le basant sur la dll InterOrpGraph.dll. Maintenant, j'ai bien un objectname (Package) et je vois bien le contrôle dans le userobject. Reste que j'ai toujours le message. Il va falloir encore un peu creuser.
en faisant New > Standard visual > olecontrol > create from file ?
j'avais essayé ça aussi (jamais utilisé cette fonctionnalité avant...)
si le composant pouvait être enregistré on devrait le choisir dans la liste dans l'onglet insert control, ou bien ?
Hors ligne
erasorz a écrit:
en faisant New > Standard visual > olecontrol > create from file ?
Oui
erasorz a écrit:
si le composant pouvait être enregistré on devrait le choisir dans la liste dans l'onglet insert control, ou bien ?
En principe, oui, mais vu que c'est un wrapper créé à part, je n'en sais fichtre rien. Il va falloir que je récupère VS2005 pour y voir plus clair.
En plus, quand on regarde l'article du PBDJ, il semble qu'il y ai eu utilisation d'un add-in spécifique sous VB6 pour créer l'objet en question.
Hors ligne
Pages: 1