OVH Cloud OVH Cloud

VB6 vs Delphi6

29 réponses
Avatar
Patrice Henrio
3 questions

1) Où peut-on trouver les correspondances entre les propriétés des Forms de
VB6 et des Frames de Delphi6 ?
2) Est-ce que le composant le plus proche de la forme est bien le frame ?
3)Existe-t-il un moyen de rendre un programme écrit en VB6 réellemnt
portable quel que soit le windows utilisé (à partir de 98 quand même) ?

10 réponses

1 2 3
Avatar
Christian HUBERT-HUGOUD- Xtrem7
Bonjour,


J'ajoute (mais je ne sais plus pourquoi) ceci :

Source: "C:Windowssystemmsvbvm50.dll"; DestDir: "{sys}"; Flags: regserver
noregerror restartreplace sharedfile allowunsafefiles uninsneveruninstall

Remarque au passage que j'utilise systématiquement les dll qui servent au
développement et qui sont sur mon PC (98SE).

Il peut y avoir un pb au niveau des flags. Dans ce cas il est possible que
tes dll ne soient pas ajoutées même s'il elles sont plus récentes. Ceux-ci
fonctionnent bien sur XP, 2000, 98SE, Me. La version de INNO que j'utilise
est 4.1.8.

En ce qui concerne les api, rien de bien sorcier là-dedans me semble-t-il.
Pour les déclarations, voire la visionneuse des API. Si une erreur de
déclaration, ce n'est pas évident de la détecter ; j'ai eu un bug que j'ai
cherché longtemps et c'était une erreur dans la déclaration d'une structure
utilisée dans les API. Évidemment le bug était aléatoire...

Hope this helps.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le message de
news:
Oui mais par contre je crois que l'on n'a pas de problème de dll à


rajouter
au projet car les fonctions utilisées sont rajoutées au code.
De plus voici les dll que j'utilises, peux-tu me dire s'il existe des
problèmes répertoriés avec.
VB6STKIT.DLL,10/29/99 ,101888,6.0.84.50
COMCAT.DLL,6/1/98 ,22288,4.71.1460.1
vb6fr.dll,10/2/00 ,119568,6.0.89.88
STDOLE2.TLB,12/23/03 ,17920,2.40.4277.1
ASYCFILT.DLL, 8/31/99 ,147728,2.40.4277.1
OLEPRO32.DLL, 8/31/99 ,164112,5.0.4277.1
OLEAUT32.DLL,6/19/02 ,614672,2.40.4515.0
msvbvm60.dll, 8/28/01 ,1388544,6.0.92.37

Les fonctions API que j'utilise sont
Private Declare Function CreateSolidBrush Lib "gdi32" _
(ByVal crColor As Long) As Long
Private Declare Function PolyPolygon Lib "gdi32.dll" _
(ByVal hdc As Long, _
lpPoint As PointAPI, _
lpPolyCounts As Long, _
ByVal nCount As Long) As Long
Private Declare Function SelectObject Lib "gdi32" _
(ByVal hdc As Long, _
ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" _
(lpPoint As PointAPI, _
ByVal nCount As Long, _
ByVal nPolyFillMode As Long) As
Long
Private Declare Function CreatePolyPolygonRgn Lib "gdi32" _
(lpPoint As PointAPI, _
lpPolyCounts As Long, _
ByVal nCount As Long, _
ByVal nPolyFillMode As Long)
As Long
Private Declare Function PtInRegion Lib "gdi32" _
(ByVal hRgn As Long, _
ByVal X As Long, _
ByVal Y As Long) As Long
Private Declare Function FillRgn Lib "gdi32" _
(ByVal hdc As Long, _
ByVal hRgn As Long, _
ByVal hBrush As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(pDst As Any, _
pSrc As Any, _
ByVal ByteLen As Long)
Private Declare Function CreateEllipticRgn Lib "gdi32" _
(ByVal X1 As Long, _
ByVal Y1 As Long, _
ByVal X2 As Long, _
ByVal Y2 As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias
"RegCreateKeyA" _
(ByVal hKey As Long, _
ByVal lpSubKey As String, _
phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias
"RegSetValueExA" _
(ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
lpData As Any, _
ByVal cbData As Long) As Long
Private Declare Function PolyPolyline Lib "gdi32.dll" _
(ByVal hdc As Long, _
lppt As PointAPI, _
lpdwPolyPoints As Long, _
ByVal cCount As Long) As Long

Private Const ALTERNATE = 1
Private Const HKEY_CURRENT_USER = &H80000001
Private Const REG_SZ = 1 'Chaîne unicode de code de fin égal à 0
Private Declare Function FindFirstFile Lib "kernel32" Alias


"FindFirstFileA"
_
(ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA)


As
Long
Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" ( _
ByVal lpFileName As String) As Long
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" ( _
ByVal lpExistingFileName As String, _
ByVal lpNewFileName As String, _
ByVal bFailIfExists As Long) As Long


Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * 260
cAlternate As String * 14
End Type


"christophe-pasde<> @wanadoo.fr>" <"christophe-pasde<> a écrit dans le
message de news: 41bea9c2$0$10222$
> Bonjour
>
> Attention, comme signalé plus haut il y a de nombreuses différences


entre
> les versions de windows notamment au niveau des APIs donc faire trés
> attention aux contenu des dll (si tant est que tu le connaisses).
> Pour parler uniquement de la partie que je connais, si tes dll ou ton


code
> utilise gdi32.dll tu peux t'attendre à des grosses surprises.(Certaine
> fonctions n'existe carrement pas en 98SE et d'autre on un comportement
> étrange (memory leak). J'ai tenté désespérement de faire fonctionner mon
> appli sous 98SE, pour qu'au bout de 1 heures ou 2 ou 30 mmm suivant la
> puissance du pc, l'utilisateur soit obligé de rebooter la machine.
>
> Une solution efficace est de tester la version de windows en cours et de
> faire des déclaration optionnels ou de tester avant d'entamer un bout de
> code spécifique.
>
> Mais il y a des fois (c'est mon cas) où il faut être clair : tourne
> uniquement sous Win2KSP3 XP NT4.
>
> Maintenant si tu veux convertir vers Delphi pour le peu que j'en connais
> il est dépendant de Windows, comme VB.
>
>
> Christophe
>
>
>
>
>
> Patrice Henrio a écrit :
>> J'utilise à la fois le complément empaquetage et déploiement de VB pour
>> connaître les dépendances et InnoSetup pour créer le setup.
>> Cela marche sur la plupart des ordinateurs mais il y a quelques
>> irréductibles. En général ceux sur lesquels il y a assez peu de choses
>> intallées.
>> Un peu comme s'il manquait une dll très courante dés qu'on installé un
>> certain nombre de produits créés à aprtir des logiciels microsoft.
>>
>> "Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
>> message de news: cpklbd$t0t$
>>
>>>Je pense plutôt à une question de déploiement. Quel logiciel
>>>d'installation
>>>? Les dépendances peuvent être listées grâce au module de déploiement


et
>>>d'empaquetage fourni avec VB.
>>>
>>>Cordialement
>>>
>>>Christian Hubert-Hugoud
>>>
>>>"Patrice Henrio" a écrit dans le message


de
>>>news:
>>>
>>>>Le logiciel que j'ai développé s'installait sans problème sauf sur un
>>>
>>>poste
>>>
>>>>W98 première édition où l'installation marche mais il refuse de


démarrer
>>>>(problème de librairie).
>>>>Donc je ne m'affolais pas, conviancu que cette version de windows


serait
>>>>bientôt obsolète.
>>>>Mais récemment sur un poste XP et un W98SE le logiciel
>>>>s'installe sans difficulté mais refuse de s'exécuter de la même façon.
>>>>D'où ma question.
>>>>Je pense que l'ensemble des pb proviennent des dll plus ou moins bien
>>>>implémentées.
>>>>Comment faire ?
>>>>Pour moi, la bonne solution serait que les fonctions et procédures des
>>>>fameuses dll soient directement codées dans le programme, ce qui
>>>>règlerait
>>>>une fois pour toutes les pb de version. Bein sûr le socle d'accès aux
>>>>resources de l'ordinateur via windows devrait rester stable comme du
>>>>temps
>>>>de MSDOS.
>>>>
>>>>
>>>>"ng" a écrit dans le message de news:
>>>>
>>>>
>>>>>Salut,
>>>>>
>>>>>Ne connaissant pas Delphi je vais répondre à la 3) seulement :)
>>>>>
>>>>>A priori, si tu n'utilise pas d'API spécifique à une version de
>>>>>windows,
>>>>>ton programme sera même portable sur 95 :)
>>>>>(mais par exemple pour rendre une appli utilisant un RichTextBox
>>>
>>>portable
>>>
>>>>>sous 95 il faut rajouter une DLL mais personnellement je ne me
>>>>>préoccupe
>>>>>plus de 95, seulement 98.)
>>>>>
>>>>>Donc pour 98 il faut juste faire attention à certaines API qui
>>>>>n'existaient pas (la compatibilité est indiqué dans l'api-guide/la


MSDN
>>>>>pour chaque API.
>>>>>
>>>>>--
>>>>>Nicolas G.
>>>>>FAQ VB : http://faq.vb.free.fr
>>>>>API Guide : http://www.allapi.net
>>>>>Google Groups : http://groups.google.fr/
>>>>>MZ-Tools : http://www.mztools.com/
>>>>>
>>>>>Patrice Henrio wrote:
>>>>>
>>>>>>3 questions
>>>>>>
>>>>>>1) Où peut-on trouver les correspondances entre les propriétés des
>>>>>>Forms de VB6 et des Frames de Delphi6 ?
>>>>>>2) Est-ce que le composant le plus proche de la forme est bien le
>>>>>>frame ? 3)Existe-t-il un moyen de rendre un programme écrit en VB6
>>>>>>réellemnt portable quel que soit le windows utilisé (à partir de 98
>>>>>>quand même) ?
>>>>>
>>>>>
>>>>
>>>
>>



Avatar
ng
Salut,

Les composants Forms 2.0 ne sont correctement installés qu'avec office,
c'est pour cela qu'il est *fortement* déconseillé de les utiliser en VB !
(on a déjà débattu sur le sujet : pas de portabilité, ... regarde dans les
archives).

Pour que ton application fonctionne correctement il faut donc une version
d'office au moins aussi récente que la tienne (de ton poste de
developpement) d'installée.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
Si justement. Quels conseils peux-tu me donner ?


"ng" a écrit dans le message de news:

Salut,

Et tu utilises quoi comme composants/DLL dans ton appli ? Tu
n'utiliserais pas les controles Forms 2.0 par hasard ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
J'utilise à la fois le complément empaquetage et déploiement de VB
pour connaître les dépendances et InnoSetup pour créer le setup.
Cela marche sur la plupart des ordinateurs mais il y a quelques
irréductibles. En général ceux sur lesquels il y a assez peu de
choses intallées.
Un peu comme s'il manquait une dll très courante dés qu'on installé
un certain nombre de produits créés à aprtir des logiciels
microsoft. "Christian HUBERT-HUGOUD- Xtrem7" a écrit
dans
le message de news: cpklbd$t0t$
Je pense plutôt à une question de déploiement. Quel logiciel
d'installation
? Les dépendances peuvent être listées grâce au module de
déploiement et d'empaquetage fourni avec VB.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le
message de news:
Le logiciel que j'ai développé s'installait sans problème sauf sur
un poste W98 première édition où l'installation marche mais il
refuse de démarrer (problème de librairie).
Donc je ne m'affolais pas, conviancu que cette version de windows
serait bientôt obsolète.
Mais récemment sur un poste XP et un W98SE le logiciel
s'installe sans difficulté mais refuse de s'exécuter de la même
façon. D'où ma question.
Je pense que l'ensemble des pb proviennent des dll plus ou moins
bien implémentées.
Comment faire ?
Pour moi, la bonne solution serait que les fonctions et procédures
des fameuses dll soient directement codées dans le programme, ce
qui règlerait
une fois pour toutes les pb de version. Bein sûr le socle d'accès
aux resources de l'ordinateur via windows devrait rester stable
comme du temps
de MSDOS.


"ng" a écrit dans le message de news:

Salut,

Ne connaissant pas Delphi je vais répondre à la 3) seulement :)

A priori, si tu n'utilise pas d'API spécifique à une version de
windows,
ton programme sera même portable sur 95 :)
(mais par exemple pour rendre une appli utilisant un RichTextBox
portable sous 95 il faut rajouter une DLL mais personnellement je
ne me préoccupe
plus de 95, seulement 98.)

Donc pour 98 il faut juste faire attention à certaines API qui
n'existaient pas (la compatibilité est indiqué dans
l'api-guide/la MSDN pour chaque API.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
3 questions

1) Où peut-on trouver les correspondances entre les propriétés
des Forms de VB6 et des Frames de Delphi6 ?
2) Est-ce que le composant le plus proche de la forme est bien
le frame ? 3)Existe-t-il un moyen de rendre un programme écrit
en VB6 réellemnt portable quel que soit le windows utilisé (à
partir de 98 quand même) ?














Avatar
Patrice Henrio
J'ai fait le tour des références :
Visual Basic For Applications ---> msvbvm60.dll
Visual Basic runtime objects and procedures ---> msvbvm60.dll 3
Visual Basic objects and procedures ---> VB6.OLB
Microsoft Internet Controls ---> shdocvw.oca

Pour les composants :
Controles
Microsoft Forms 2.0 Object Library --->FM20.DLL
Microsoft Internet Controls --->shdocvw.dll
Microsoft Windows Common Controls 6.0 (SP4) ---> MSCOMCTL.OCX



"Patrice Henrio" a écrit dans le message de
news: Of9V%
Si justement. Quels conseils peux-tu me donner ?


"ng" a écrit dans le message de news:

Salut,

Et tu utilises quoi comme composants/DLL dans ton appli ? Tu
n'utiliserais pas les controles Forms 2.0 par hasard ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
J'utilise à la fois le complément empaquetage et déploiement de VB
pour connaître les dépendances et InnoSetup pour créer le setup.
Cela marche sur la plupart des ordinateurs mais il y a quelques
irréductibles. En général ceux sur lesquels il y a assez peu de choses
intallées.
Un peu comme s'il manquait une dll très courante dés qu'on installé un
certain nombre de produits créés à aprtir des logiciels microsoft.

"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
message de news: cpklbd$t0t$
Je pense plutôt à une question de déploiement. Quel logiciel
d'installation
? Les dépendances peuvent être listées grâce au module de
déploiement et d'empaquetage fourni avec VB.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le
message de news:
Le logiciel que j'ai développé s'installait sans problème sauf sur
un poste W98 première édition où l'installation marche mais il
refuse de démarrer (problème de librairie).
Donc je ne m'affolais pas, conviancu que cette version de windows
serait bientôt obsolète.
Mais récemment sur un poste XP et un W98SE le logiciel
s'installe sans difficulté mais refuse de s'exécuter de la même
façon. D'où ma question.
Je pense que l'ensemble des pb proviennent des dll plus ou moins
bien implémentées.
Comment faire ?
Pour moi, la bonne solution serait que les fonctions et procédures
des fameuses dll soient directement codées dans le programme, ce qui
règlerait
une fois pour toutes les pb de version. Bein sûr le socle d'accès
aux resources de l'ordinateur via windows devrait rester stable
comme du temps
de MSDOS.


"ng" a écrit dans le message de news:

Salut,

Ne connaissant pas Delphi je vais répondre à la 3) seulement :)

A priori, si tu n'utilise pas d'API spécifique à une version de
windows,
ton programme sera même portable sur 95 :)
(mais par exemple pour rendre une appli utilisant un RichTextBox
portable sous 95 il faut rajouter une DLL mais personnellement je
ne me préoccupe
plus de 95, seulement 98.)

Donc pour 98 il faut juste faire attention à certaines API qui
n'existaient pas (la compatibilité est indiqué dans l'api-guide/la
MSDN pour chaque API.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
3 questions

1) Où peut-on trouver les correspondances entre les propriétés des
Forms de VB6 et des Frames de Delphi6 ?
2) Est-ce que le composant le plus proche de la forme est bien le
frame ? 3)Existe-t-il un moyen de rendre un programme écrit en VB6
réellemnt portable quel que soit le windows utilisé (à partir de
98 quand même) ?


















Avatar
Patrice Henrio
Je ne pense que cela vienne d'un bug de programmation car la caractéristique
des ordinateurs sur lequel ça plante c'est des ordinateurs avec très peu de
logiciels microsoft installés (à part windows) bien sûr, sur tous les
autres, pas de problèmes.
Là c'est dés le démarrage qu'il me dit qu'une librairie n'a pas été trouvé.
Je vais essayer avec la dll que tu indiques.
Pour l'instant mes tests m'ont montré que c'est la forme principale de mon
projet, sans code qui plante. Donc c'est sûrement un de mes composants :
demain j'essaie en virant un à un les composants.
J'ai vu que parmi les références j'avais VB6.OLB, à quoi ça sert ?


"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
message de news: cpn8v6$fhp$
Bonjour,


J'ajoute (mais je ne sais plus pourquoi) ceci :

Source: "C:Windowssystemmsvbvm50.dll"; DestDir: "{sys}"; Flags:
regserver
noregerror restartreplace sharedfile allowunsafefiles uninsneveruninstall

Remarque au passage que j'utilise systématiquement les dll qui servent au
développement et qui sont sur mon PC (98SE).

Il peut y avoir un pb au niveau des flags. Dans ce cas il est possible que
tes dll ne soient pas ajoutées même s'il elles sont plus récentes. Ceux-ci
fonctionnent bien sur XP, 2000, 98SE, Me. La version de INNO que j'utilise
est 4.1.8.

En ce qui concerne les api, rien de bien sorcier là-dedans me semble-t-il.
Pour les déclarations, voire la visionneuse des API. Si une erreur de
déclaration, ce n'est pas évident de la détecter ; j'ai eu un bug que j'ai
cherché longtemps et c'était une erreur dans la déclaration d'une
structure
utilisée dans les API. Évidemment le bug était aléatoire...

Hope this helps.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le message de
news:
Oui mais par contre je crois que l'on n'a pas de problème de dll à


rajouter
au projet car les fonctions utilisées sont rajoutées au code.
De plus voici les dll que j'utilises, peux-tu me dire s'il existe des
problèmes répertoriés avec.
VB6STKIT.DLL,10/29/99 ,101888,6.0.84.50
COMCAT.DLL,6/1/98 ,22288,4.71.1460.1
vb6fr.dll,10/2/00 ,119568,6.0.89.88
STDOLE2.TLB,12/23/03 ,17920,2.40.4277.1
ASYCFILT.DLL, 8/31/99 ,147728,2.40.4277.1
OLEPRO32.DLL, 8/31/99 ,164112,5.0.4277.1
OLEAUT32.DLL,6/19/02 ,614672,2.40.4515.0
msvbvm60.dll, 8/28/01 ,1388544,6.0.92.37

Les fonctions API que j'utilise sont
Private Declare Function CreateSolidBrush Lib "gdi32" _
(ByVal crColor As Long) As Long
Private Declare Function PolyPolygon Lib "gdi32.dll" _
(ByVal hdc As Long, _
lpPoint As PointAPI, _
lpPolyCounts As Long, _
ByVal nCount As Long) As Long
Private Declare Function SelectObject Lib "gdi32" _
(ByVal hdc As Long, _
ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" _
(ByVal hObject As Long) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" _
(lpPoint As PointAPI, _
ByVal nCount As Long, _
ByVal nPolyFillMode As Long)
As
Long
Private Declare Function CreatePolyPolygonRgn Lib "gdi32" _
(lpPoint As PointAPI, _
lpPolyCounts As Long, _
ByVal nCount As Long, _
ByVal nPolyFillMode As
Long)
As Long
Private Declare Function PtInRegion Lib "gdi32" _
(ByVal hRgn As Long, _
ByVal X As Long, _
ByVal Y As Long) As Long
Private Declare Function FillRgn Lib "gdi32" _
(ByVal hdc As Long, _
ByVal hRgn As Long, _
ByVal hBrush As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(pDst As Any, _
pSrc As Any, _
ByVal ByteLen As Long)
Private Declare Function CreateEllipticRgn Lib "gdi32" _
(ByVal X1 As Long, _
ByVal Y1 As Long, _
ByVal X2 As Long, _
ByVal Y2 As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias
"RegCreateKeyA" _
(ByVal hKey As Long, _
ByVal lpSubKey As String, _
phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias
"RegSetValueExA" _
(ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
lpData As Any, _
ByVal cbData As Long) As Long
Private Declare Function PolyPolyline Lib "gdi32.dll" _
(ByVal hdc As Long, _
lppt As PointAPI, _
lpdwPolyPoints As Long, _
ByVal cCount As Long) As Long

Private Const ALTERNATE = 1
Private Const HKEY_CURRENT_USER = &H80000001
Private Const REG_SZ = 1 'Chaîne unicode de code de fin égal à 0
Private Declare Function FindFirstFile Lib "kernel32" Alias


"FindFirstFileA"
_
(ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA)


As
Long
Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" ( _
ByVal lpFileName As String) As Long
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" ( _
ByVal lpExistingFileName As String, _
ByVal lpNewFileName As String, _
ByVal bFailIfExists As Long) As Long


Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type

Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * 260
cAlternate As String * 14
End Type


"christophe-pasde<> @wanadoo.fr>" <"christophe-pasde<> a écrit dans le
message de news: 41bea9c2$0$10222$
> Bonjour
>
> Attention, comme signalé plus haut il y a de nombreuses différences


entre
> les versions de windows notamment au niveau des APIs donc faire trés
> attention aux contenu des dll (si tant est que tu le connaisses).
> Pour parler uniquement de la partie que je connais, si tes dll ou ton


code
> utilise gdi32.dll tu peux t'attendre à des grosses surprises.(Certaine
> fonctions n'existe carrement pas en 98SE et d'autre on un comportement
> étrange (memory leak). J'ai tenté désespérement de faire fonctionner
> mon
> appli sous 98SE, pour qu'au bout de 1 heures ou 2 ou 30 mmm suivant la
> puissance du pc, l'utilisateur soit obligé de rebooter la machine.
>
> Une solution efficace est de tester la version de windows en cours et
> de
> faire des déclaration optionnels ou de tester avant d'entamer un bout
> de
> code spécifique.
>
> Mais il y a des fois (c'est mon cas) où il faut être clair : tourne
> uniquement sous Win2KSP3 XP NT4.
>
> Maintenant si tu veux convertir vers Delphi pour le peu que j'en
> connais
> il est dépendant de Windows, comme VB.
>
>
> Christophe
>
>
>
>
>
> Patrice Henrio a écrit :
>> J'utilise à la fois le complément empaquetage et déploiement de VB
>> pour
>> connaître les dépendances et InnoSetup pour créer le setup.
>> Cela marche sur la plupart des ordinateurs mais il y a quelques
>> irréductibles. En général ceux sur lesquels il y a assez peu de choses
>> intallées.
>> Un peu comme s'il manquait une dll très courante dés qu'on installé un
>> certain nombre de produits créés à aprtir des logiciels microsoft.
>>
>> "Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
>> message de news: cpklbd$t0t$
>>
>>>Je pense plutôt à une question de déploiement. Quel logiciel
>>>d'installation
>>>? Les dépendances peuvent être listées grâce au module de déploiement


et
>>>d'empaquetage fourni avec VB.
>>>
>>>Cordialement
>>>
>>>Christian Hubert-Hugoud
>>>
>>>"Patrice Henrio" a écrit dans le message


de
>>>news:
>>>
>>>>Le logiciel que j'ai développé s'installait sans problème sauf sur un
>>>
>>>poste
>>>
>>>>W98 première édition où l'installation marche mais il refuse de


démarrer
>>>>(problème de librairie).
>>>>Donc je ne m'affolais pas, conviancu que cette version de windows


serait
>>>>bientôt obsolète.
>>>>Mais récemment sur un poste XP et un W98SE le logiciel
>>>>s'installe sans difficulté mais refuse de s'exécuter de la même
>>>>façon.
>>>>D'où ma question.
>>>>Je pense que l'ensemble des pb proviennent des dll plus ou moins bien
>>>>implémentées.
>>>>Comment faire ?
>>>>Pour moi, la bonne solution serait que les fonctions et procédures
>>>>des
>>>>fameuses dll soient directement codées dans le programme, ce qui
>>>>règlerait
>>>>une fois pour toutes les pb de version. Bein sûr le socle d'accès aux
>>>>resources de l'ordinateur via windows devrait rester stable comme du
>>>>temps
>>>>de MSDOS.
>>>>
>>>>
>>>>"ng" a écrit dans le message de news:
>>>>
>>>>
>>>>>Salut,
>>>>>
>>>>>Ne connaissant pas Delphi je vais répondre à la 3) seulement :)
>>>>>
>>>>>A priori, si tu n'utilise pas d'API spécifique à une version de
>>>>>windows,
>>>>>ton programme sera même portable sur 95 :)
>>>>>(mais par exemple pour rendre une appli utilisant un RichTextBox
>>>
>>>portable
>>>
>>>>>sous 95 il faut rajouter une DLL mais personnellement je ne me
>>>>>préoccupe
>>>>>plus de 95, seulement 98.)
>>>>>
>>>>>Donc pour 98 il faut juste faire attention à certaines API qui
>>>>>n'existaient pas (la compatibilité est indiqué dans l'api-guide/la


MSDN
>>>>>pour chaque API.
>>>>>
>>>>>--
>>>>>Nicolas G.
>>>>>FAQ VB : http://faq.vb.free.fr
>>>>>API Guide : http://www.allapi.net
>>>>>Google Groups : http://groups.google.fr/
>>>>>MZ-Tools : http://www.mztools.com/
>>>>>
>>>>>Patrice Henrio wrote:
>>>>>
>>>>>>3 questions
>>>>>>
>>>>>>1) Où peut-on trouver les correspondances entre les propriétés des
>>>>>>Forms de VB6 et des Frames de Delphi6 ?
>>>>>>2) Est-ce que le composant le plus proche de la forme est bien le
>>>>>>frame ? 3)Existe-t-il un moyen de rendre un programme écrit en VB6
>>>>>>réellemnt portable quel que soit le windows utilisé (à partir de 98
>>>>>>quand même) ?
>>>>>
>>>>>
>>>>
>>>
>>







Avatar
Christian HUBERT-HUGOUD- Xtrem7
Je ne sais pas.

Dans un cas comme le tien, je place des msgbox pour tracer le code jusqu'à
voir dans quelle instruction cela plante.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le message de
news:
Je ne pense que cela vienne d'un bug de programmation car la


caractéristique
des ordinateurs sur lequel ça plante c'est des ordinateurs avec très peu


de
logiciels microsoft installés (à part windows) bien sûr, sur tous les
autres, pas de problèmes.
Là c'est dés le démarrage qu'il me dit qu'une librairie n'a pas été


trouvé.
Je vais essayer avec la dll que tu indiques.
Pour l'instant mes tests m'ont montré que c'est la forme principale de mon
projet, sans code qui plante. Donc c'est sûrement un de mes composants :
demain j'essaie en virant un à un les composants.
J'ai vu que parmi les références j'avais VB6.OLB, à quoi ça sert ?


"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
message de news: cpn8v6$fhp$
> Bonjour,
>
>
> J'ajoute (mais je ne sais plus pourquoi) ceci :
>
> Source: "C:Windowssystemmsvbvm50.dll"; DestDir: "{sys}"; Flags:
> regserver
> noregerror restartreplace sharedfile allowunsafefiles


uninsneveruninstall
>
> Remarque au passage que j'utilise systématiquement les dll qui servent


au
> développement et qui sont sur mon PC (98SE).
>
> Il peut y avoir un pb au niveau des flags. Dans ce cas il est possible


que
> tes dll ne soient pas ajoutées même s'il elles sont plus récentes.


Ceux-ci
> fonctionnent bien sur XP, 2000, 98SE, Me. La version de INNO que


j'utilise
> est 4.1.8.
>
> En ce qui concerne les api, rien de bien sorcier là-dedans me


semble-t-il.
> Pour les déclarations, voire la visionneuse des API. Si une erreur de
> déclaration, ce n'est pas évident de la détecter ; j'ai eu un bug que


j'ai
> cherché longtemps et c'était une erreur dans la déclaration d'une
> structure
> utilisée dans les API. Évidemment le bug était aléatoire...
>
> Hope this helps.
>
> Cordialement
>
> Christian Hubert-Hugoud
>
> "Patrice Henrio" a écrit dans le message de
> news:
>> Oui mais par contre je crois que l'on n'a pas de problème de dll à
> rajouter
>> au projet car les fonctions utilisées sont rajoutées au code.
>> De plus voici les dll que j'utilises, peux-tu me dire s'il existe des
>> problèmes répertoriés avec.
>> VB6STKIT.DLL,10/29/99 ,101888,6.0.84.50
>> COMCAT.DLL,6/1/98 ,22288,4.71.1460.1
>> vb6fr.dll,10/2/00 ,119568,6.0.89.88
>> STDOLE2.TLB,12/23/03 ,17920,2.40.4277.1
>> ASYCFILT.DLL, 8/31/99 ,147728,2.40.4277.1
>> OLEPRO32.DLL, 8/31/99 ,164112,5.0.4277.1
>> OLEAUT32.DLL,6/19/02 ,614672,2.40.4515.0
>> msvbvm60.dll, 8/28/01 ,1388544,6.0.92.37
>>
>> Les fonctions API que j'utilise sont
>> Private Declare Function CreateSolidBrush Lib "gdi32" _
>> (ByVal crColor As Long) As


Long
>> Private Declare Function PolyPolygon Lib "gdi32.dll" _
>> (ByVal hdc As Long, _
>> lpPoint As PointAPI, _
>> lpPolyCounts As Long, _
>> ByVal nCount As Long) As Long
>> Private Declare Function SelectObject Lib "gdi32" _
>> (ByVal hdc As Long, _
>> ByVal hObject As Long) As Long
>> Private Declare Function DeleteObject Lib "gdi32" _
>> (ByVal hObject As Long) As Long
>> Private Declare Function CreatePolygonRgn Lib "gdi32" _
>> (lpPoint As PointAPI, _
>> ByVal nCount As Long, _
>> ByVal nPolyFillMode As Long)
>> As
>> Long
>> Private Declare Function CreatePolyPolygonRgn Lib "gdi32" _
>> (lpPoint As PointAPI, _
>> lpPolyCounts As Long, _
>> ByVal nCount As Long, _
>> ByVal nPolyFillMode As
>> Long)
>> As Long
>> Private Declare Function PtInRegion Lib "gdi32" _
>> (ByVal hRgn As Long, _
>> ByVal X As Long, _
>> ByVal Y As Long) As Long
>> Private Declare Function FillRgn Lib "gdi32" _
>> (ByVal hdc As Long, _
>> ByVal hRgn As Long, _
>> ByVal hBrush As Long) As Long
>> Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
>> (pDst As Any, _
>> pSrc As Any, _
>> ByVal ByteLen As Long)
>> Private Declare Function CreateEllipticRgn Lib "gdi32" _
>> (ByVal X1 As Long, _
>> ByVal Y1 As Long, _
>> ByVal X2 As Long, _
>> ByVal Y2 As Long) As Long
>>
>> Private Declare Function RegCloseKey Lib "advapi32.dll" _
>> (ByVal hKey As Long) As Long
>> Private Declare Function RegCreateKey Lib "advapi32.dll" Alias
>> "RegCreateKeyA" _
>> (ByVal hKey As Long, _
>> ByVal lpSubKey As String, _
>> phkResult As Long) As Long
>> Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias
>> "RegSetValueExA" _
>> (ByVal hKey As Long, _
>> ByVal lpValueName As String, _
>> ByVal Reserved As Long, _
>> ByVal dwType As Long, _
>> lpData As Any, _
>> ByVal cbData As Long) As Long
>> Private Declare Function PolyPolyline Lib "gdi32.dll" _
>> (ByVal hdc As Long, _
>> lppt As PointAPI, _
>> lpdwPolyPoints As Long, _
>> ByVal cCount As Long) As Long
>>
>> Private Const ALTERNATE = 1
>> Private Const HKEY_CURRENT_USER = &H80000001
>> Private Const REG_SZ = 1 'Chaîne unicode de code de fin égal à 0
>> Private Declare Function FindFirstFile Lib "kernel32" Alias
> "FindFirstFileA"
>> _
>> (ByVal lpFileName As String, lpFindFileData As


WIN32_FIND_DATA)
> As
>> Long
>> Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" ( _
>> ByVal lpFileName As String) As Long
>> Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" ( _
>> ByVal lpExistingFileName As String, _
>> ByVal lpNewFileName As String, _
>> ByVal bFailIfExists As Long) As Long
>>
>>
>> Private Type FILETIME
>> dwLowDateTime As Long
>> dwHighDateTime As Long
>> End Type
>>
>> Private Type WIN32_FIND_DATA
>> dwFileAttributes As Long
>> ftCreationTime As FILETIME
>> ftLastAccessTime As FILETIME
>> ftLastWriteTime As FILETIME
>> nFileSizeHigh As Long
>> nFileSizeLow As Long
>> dwReserved0 As Long
>> dwReserved1 As Long
>> cFileName As String * 260
>> cAlternate As String * 14
>> End Type
>>
>>
>> "christophe-pasde<> @wanadoo.fr>" <"christophe-pasde<> a écrit dans le
>> message de news: 41bea9c2$0$10222$
>> > Bonjour
>> >
>> > Attention, comme signalé plus haut il y a de nombreuses différences
> entre
>> > les versions de windows notamment au niveau des APIs donc faire trés
>> > attention aux contenu des dll (si tant est que tu le connaisses).
>> > Pour parler uniquement de la partie que je connais, si tes dll ou ton
> code
>> > utilise gdi32.dll tu peux t'attendre à des grosses


surprises.(Certaine
>> > fonctions n'existe carrement pas en 98SE et d'autre on un


comportement
>> > étrange (memory leak). J'ai tenté désespérement de faire fonctionner
>> > mon
>> > appli sous 98SE, pour qu'au bout de 1 heures ou 2 ou 30 mmm suivant


la
>> > puissance du pc, l'utilisateur soit obligé de rebooter la machine.
>> >
>> > Une solution efficace est de tester la version de windows en cours et
>> > de
>> > faire des déclaration optionnels ou de tester avant d'entamer un bout
>> > de
>> > code spécifique.
>> >
>> > Mais il y a des fois (c'est mon cas) où il faut être clair : tourne
>> > uniquement sous Win2KSP3 XP NT4.
>> >
>> > Maintenant si tu veux convertir vers Delphi pour le peu que j'en
>> > connais
>> > il est dépendant de Windows, comme VB.
>> >
>> >
>> > Christophe
>> >
>> >
>> >
>> >
>> >
>> > Patrice Henrio a écrit :
>> >> J'utilise à la fois le complément empaquetage et déploiement de VB
>> >> pour
>> >> connaître les dépendances et InnoSetup pour créer le setup.
>> >> Cela marche sur la plupart des ordinateurs mais il y a quelques
>> >> irréductibles. En général ceux sur lesquels il y a assez peu de


choses
>> >> intallées.
>> >> Un peu comme s'il manquait une dll très courante dés qu'on installé


un
>> >> certain nombre de produits créés à aprtir des logiciels microsoft.
>> >>
>> >> "Christian HUBERT-HUGOUD- Xtrem7" a écrit dans


le
>> >> message de news: cpklbd$t0t$
>> >>
>> >>>Je pense plutôt à une question de déploiement. Quel logiciel
>> >>>d'installation
>> >>>? Les dépendances peuvent être listées grâce au module de


déploiement
> et
>> >>>d'empaquetage fourni avec VB.
>> >>>
>> >>>Cordialement
>> >>>
>> >>>Christian Hubert-Hugoud
>> >>>
>> >>>"Patrice Henrio" a écrit dans le


message
> de
>> >>>news:
>> >>>
>> >>>>Le logiciel que j'ai développé s'installait sans problème sauf sur


un
>> >>>
>> >>>poste
>> >>>
>> >>>>W98 première édition où l'installation marche mais il refuse de
> démarrer
>> >>>>(problème de librairie).
>> >>>>Donc je ne m'affolais pas, conviancu que cette version de windows
> serait
>> >>>>bientôt obsolète.
>> >>>>Mais récemment sur un poste XP et un W98SE le logiciel
>> >>>>s'installe sans difficulté mais refuse de s'exécuter de la même
>> >>>>façon.
>> >>>>D'où ma question.
>> >>>>Je pense que l'ensemble des pb proviennent des dll plus ou moins


bien
>> >>>>implémentées.
>> >>>>Comment faire ?
>> >>>>Pour moi, la bonne solution serait que les fonctions et procédures
>> >>>>des
>> >>>>fameuses dll soient directement codées dans le programme, ce qui
>> >>>>règlerait
>> >>>>une fois pour toutes les pb de version. Bein sûr le socle d'accès


aux
>> >>>>resources de l'ordinateur via windows devrait rester stable comme


du
>> >>>>temps
>> >>>>de MSDOS.
>> >>>>
>> >>>>
>> >>>>"ng" a écrit dans le message de news:
>> >>>>
>> >>>>
>> >>>>>Salut,
>> >>>>>
>> >>>>>Ne connaissant pas Delphi je vais répondre à la 3) seulement :)
>> >>>>>
>> >>>>>A priori, si tu n'utilise pas d'API spécifique à une version de
>> >>>>>windows,
>> >>>>>ton programme sera même portable sur 95 :)
>> >>>>>(mais par exemple pour rendre une appli utilisant un RichTextBox
>> >>>
>> >>>portable
>> >>>
>> >>>>>sous 95 il faut rajouter une DLL mais personnellement je ne me
>> >>>>>préoccupe
>> >>>>>plus de 95, seulement 98.)
>> >>>>>
>> >>>>>Donc pour 98 il faut juste faire attention à certaines API qui
>> >>>>>n'existaient pas (la compatibilité est indiqué dans l'api-guide/la
> MSDN
>> >>>>>pour chaque API.
>> >>>>>
>> >>>>>--
>> >>>>>Nicolas G.
>> >>>>>FAQ VB : http://faq.vb.free.fr
>> >>>>>API Guide : http://www.allapi.net
>> >>>>>Google Groups : http://groups.google.fr/
>> >>>>>MZ-Tools : http://www.mztools.com/
>> >>>>>
>> >>>>>Patrice Henrio wrote:
>> >>>>>
>> >>>>>>3 questions
>> >>>>>>
>> >>>>>>1) Où peut-on trouver les correspondances entre les propriétés


des
>> >>>>>>Forms de VB6 et des Frames de Delphi6 ?
>> >>>>>>2) Est-ce que le composant le plus proche de la forme est bien le
>> >>>>>>frame ? 3)Existe-t-il un moyen de rendre un programme écrit en


VB6
>> >>>>>>réellemnt portable quel que soit le windows utilisé (à partir de


98
>> >>>>>>quand même) ?
>> >>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>
>>
>
>




Avatar
Patrice Henrio
OK !
Je n'avais pas vraiment compris le sens de cette conversation, ne me sentant
pas concerné.
Par quoi dois-je remplacer ces composants ?
En tout cas, merci ça explique bien pourquoi cela plante sur certains postes
même avec XP et pas sur d'autres.

"ng" a écrit dans le message de news:
u$
Salut,

Les composants Forms 2.0 ne sont correctement installés qu'avec office,
c'est pour cela qu'il est *fortement* déconseillé de les utiliser en VB !
(on a déjà débattu sur le sujet : pas de portabilité, ... regarde dans les
archives).

Pour que ton application fonctionne correctement il faut donc une version
d'office au moins aussi récente que la tienne (de ton poste de
developpement) d'installée.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
Si justement. Quels conseils peux-tu me donner ?


"ng" a écrit dans le message de news:

Salut,

Et tu utilises quoi comme composants/DLL dans ton appli ? Tu
n'utiliserais pas les controles Forms 2.0 par hasard ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
J'utilise à la fois le complément empaquetage et déploiement de VB
pour connaître les dépendances et InnoSetup pour créer le setup.
Cela marche sur la plupart des ordinateurs mais il y a quelques
irréductibles. En général ceux sur lesquels il y a assez peu de
choses intallées.
Un peu comme s'il manquait une dll très courante dés qu'on installé
un certain nombre de produits créés à aprtir des logiciels
microsoft. "Christian HUBERT-HUGOUD- Xtrem7" a
écrit dans
le message de news: cpklbd$t0t$
Je pense plutôt à une question de déploiement. Quel logiciel
d'installation
? Les dépendances peuvent être listées grâce au module de
déploiement et d'empaquetage fourni avec VB.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le
message de news:
Le logiciel que j'ai développé s'installait sans problème sauf sur
un poste W98 première édition où l'installation marche mais il
refuse de démarrer (problème de librairie).
Donc je ne m'affolais pas, conviancu que cette version de windows
serait bientôt obsolète.
Mais récemment sur un poste XP et un W98SE le logiciel
s'installe sans difficulté mais refuse de s'exécuter de la même
façon. D'où ma question.
Je pense que l'ensemble des pb proviennent des dll plus ou moins
bien implémentées.
Comment faire ?
Pour moi, la bonne solution serait que les fonctions et procédures
des fameuses dll soient directement codées dans le programme, ce
qui règlerait
une fois pour toutes les pb de version. Bein sûr le socle d'accès
aux resources de l'ordinateur via windows devrait rester stable
comme du temps
de MSDOS.


"ng" a écrit dans le message de news:

Salut,

Ne connaissant pas Delphi je vais répondre à la 3) seulement :)

A priori, si tu n'utilise pas d'API spécifique à une version de
windows,
ton programme sera même portable sur 95 :)
(mais par exemple pour rendre une appli utilisant un RichTextBox
portable sous 95 il faut rajouter une DLL mais personnellement je
ne me préoccupe
plus de 95, seulement 98.)

Donc pour 98 il faut juste faire attention à certaines API qui
n'existaient pas (la compatibilité est indiqué dans
l'api-guide/la MSDN pour chaque API.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
3 questions

1) Où peut-on trouver les correspondances entre les propriétés
des Forms de VB6 et des Frames de Delphi6 ?
2) Est-ce que le composant le plus proche de la forme est bien
le frame ? 3)Existe-t-il un moyen de rendre un programme écrit
en VB6 réellemnt portable quel que soit le windows utilisé (à
partir de 98 quand même) ?


















Avatar
Patrice Henrio
Justement même sans code ça plante, avec seulement la forme. Donc je pense
que la remarque de "ng" correspond bien à mon cas.

"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
message de news: cpnao9$gfp$
Je ne sais pas.

Dans un cas comme le tien, je place des msgbox pour tracer le code jusqu'à
voir dans quelle instruction cela plante.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le message de
news:
Je ne pense que cela vienne d'un bug de programmation car la


caractéristique
des ordinateurs sur lequel ça plante c'est des ordinateurs avec très peu


de
logiciels microsoft installés (à part windows) bien sûr, sur tous les
autres, pas de problèmes.
Là c'est dés le démarrage qu'il me dit qu'une librairie n'a pas été


trouvé.
Je vais essayer avec la dll que tu indiques.
Pour l'instant mes tests m'ont montré que c'est la forme principale de
mon
projet, sans code qui plante. Donc c'est sûrement un de mes composants :
demain j'essaie en virant un à un les composants.
J'ai vu que parmi les références j'avais VB6.OLB, à quoi ça sert ?


"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
message de news: cpn8v6$fhp$
> Bonjour,
>
>
> J'ajoute (mais je ne sais plus pourquoi) ceci :
>
> Source: "C:Windowssystemmsvbvm50.dll"; DestDir: "{sys}"; Flags:
> regserver
> noregerror restartreplace sharedfile allowunsafefiles


uninsneveruninstall
>
> Remarque au passage que j'utilise systématiquement les dll qui servent


au
> développement et qui sont sur mon PC (98SE).
>
> Il peut y avoir un pb au niveau des flags. Dans ce cas il est possible


que
> tes dll ne soient pas ajoutées même s'il elles sont plus récentes.


Ceux-ci
> fonctionnent bien sur XP, 2000, 98SE, Me. La version de INNO que


j'utilise
> est 4.1.8.
>
> En ce qui concerne les api, rien de bien sorcier là-dedans me


semble-t-il.
> Pour les déclarations, voire la visionneuse des API. Si une erreur de
> déclaration, ce n'est pas évident de la détecter ; j'ai eu un bug que


j'ai
> cherché longtemps et c'était une erreur dans la déclaration d'une
> structure
> utilisée dans les API. Évidemment le bug était aléatoire...
>
> Hope this helps.
>
> Cordialement
>
> Christian Hubert-Hugoud
>
> "Patrice Henrio" a écrit dans le message
> de
> news:
>> Oui mais par contre je crois que l'on n'a pas de problème de dll à
> rajouter
>> au projet car les fonctions utilisées sont rajoutées au code.
>> De plus voici les dll que j'utilises, peux-tu me dire s'il existe des
>> problèmes répertoriés avec.
>> VB6STKIT.DLL,10/29/99 ,101888,6.0.84.50
>> COMCAT.DLL,6/1/98 ,22288,4.71.1460.1
>> vb6fr.dll,10/2/00 ,119568,6.0.89.88
>> STDOLE2.TLB,12/23/03 ,17920,2.40.4277.1
>> ASYCFILT.DLL, 8/31/99 ,147728,2.40.4277.1
>> OLEPRO32.DLL, 8/31/99 ,164112,5.0.4277.1
>> OLEAUT32.DLL,6/19/02 ,614672,2.40.4515.0
>> msvbvm60.dll, 8/28/01 ,1388544,6.0.92.37
>>
>> Les fonctions API que j'utilise sont
>> Private Declare Function CreateSolidBrush Lib "gdi32" _
>> (ByVal crColor As Long) As


Long
>> Private Declare Function PolyPolygon Lib "gdi32.dll" _
>> (ByVal hdc As Long, _
>> lpPoint As PointAPI, _
>> lpPolyCounts As Long, _
>> ByVal nCount As Long) As Long
>> Private Declare Function SelectObject Lib "gdi32" _
>> (ByVal hdc As Long, _
>> ByVal hObject As Long) As Long
>> Private Declare Function DeleteObject Lib "gdi32" _
>> (ByVal hObject As Long) As Long
>> Private Declare Function CreatePolygonRgn Lib "gdi32" _
>> (lpPoint As PointAPI, _
>> ByVal nCount As Long, _
>> ByVal nPolyFillMode As
>> Long)
>> As
>> Long
>> Private Declare Function CreatePolyPolygonRgn Lib "gdi32" _
>> (lpPoint As PointAPI, _
>> lpPolyCounts As Long, _
>> ByVal nCount As Long, _
>> ByVal nPolyFillMode As
>> Long)
>> As Long
>> Private Declare Function PtInRegion Lib "gdi32" _
>> (ByVal hRgn As Long, _
>> ByVal X As Long, _
>> ByVal Y As Long) As Long
>> Private Declare Function FillRgn Lib "gdi32" _
>> (ByVal hdc As Long, _
>> ByVal hRgn As Long, _
>> ByVal hBrush As Long) As Long
>> Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
>> (pDst As Any, _
>> pSrc As Any, _
>> ByVal ByteLen As Long)
>> Private Declare Function CreateEllipticRgn Lib "gdi32" _
>> (ByVal X1 As Long, _
>> ByVal Y1 As Long, _
>> ByVal X2 As Long, _
>> ByVal Y2 As Long) As Long
>>
>> Private Declare Function RegCloseKey Lib "advapi32.dll" _
>> (ByVal hKey As Long) As Long
>> Private Declare Function RegCreateKey Lib "advapi32.dll" Alias
>> "RegCreateKeyA" _
>> (ByVal hKey As Long, _
>> ByVal lpSubKey As String, _
>> phkResult As Long) As Long
>> Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias
>> "RegSetValueExA" _
>> (ByVal hKey As Long, _
>> ByVal lpValueName As String, _
>> ByVal Reserved As Long, _
>> ByVal dwType As Long, _
>> lpData As Any, _
>> ByVal cbData As Long) As Long
>> Private Declare Function PolyPolyline Lib "gdi32.dll" _
>> (ByVal hdc As Long, _
>> lppt As PointAPI, _
>> lpdwPolyPoints As Long, _
>> ByVal cCount As Long) As Long
>>
>> Private Const ALTERNATE = 1
>> Private Const HKEY_CURRENT_USER = &H80000001
>> Private Const REG_SZ = 1 'Chaîne unicode de code de fin égal à 0
>> Private Declare Function FindFirstFile Lib "kernel32" Alias
> "FindFirstFileA"
>> _
>> (ByVal lpFileName As String, lpFindFileData As


WIN32_FIND_DATA)
> As
>> Long
>> Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" ( _
>> ByVal lpFileName As String) As Long
>> Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" ( _
>> ByVal lpExistingFileName As String, _
>> ByVal lpNewFileName As String, _
>> ByVal bFailIfExists As Long) As Long
>>
>>
>> Private Type FILETIME
>> dwLowDateTime As Long
>> dwHighDateTime As Long
>> End Type
>>
>> Private Type WIN32_FIND_DATA
>> dwFileAttributes As Long
>> ftCreationTime As FILETIME
>> ftLastAccessTime As FILETIME
>> ftLastWriteTime As FILETIME
>> nFileSizeHigh As Long
>> nFileSizeLow As Long
>> dwReserved0 As Long
>> dwReserved1 As Long
>> cFileName As String * 260
>> cAlternate As String * 14
>> End Type
>>
>>
>> "christophe-pasde<> @wanadoo.fr>" <"christophe-pasde<> a écrit dans le
>> message de news: 41bea9c2$0$10222$
>> > Bonjour
>> >
>> > Attention, comme signalé plus haut il y a de nombreuses différences
> entre
>> > les versions de windows notamment au niveau des APIs donc faire trés
>> > attention aux contenu des dll (si tant est que tu le connaisses).
>> > Pour parler uniquement de la partie que je connais, si tes dll ou
>> > ton
> code
>> > utilise gdi32.dll tu peux t'attendre à des grosses


surprises.(Certaine
>> > fonctions n'existe carrement pas en 98SE et d'autre on un


comportement
>> > étrange (memory leak). J'ai tenté désespérement de faire fonctionner
>> > mon
>> > appli sous 98SE, pour qu'au bout de 1 heures ou 2 ou 30 mmm suivant


la
>> > puissance du pc, l'utilisateur soit obligé de rebooter la machine.
>> >
>> > Une solution efficace est de tester la version de windows en cours
>> > et
>> > de
>> > faire des déclaration optionnels ou de tester avant d'entamer un
>> > bout
>> > de
>> > code spécifique.
>> >
>> > Mais il y a des fois (c'est mon cas) où il faut être clair : tourne
>> > uniquement sous Win2KSP3 XP NT4.
>> >
>> > Maintenant si tu veux convertir vers Delphi pour le peu que j'en
>> > connais
>> > il est dépendant de Windows, comme VB.
>> >
>> >
>> > Christophe
>> >
>> >
>> >
>> >
>> >
>> > Patrice Henrio a écrit :
>> >> J'utilise à la fois le complément empaquetage et déploiement de VB
>> >> pour
>> >> connaître les dépendances et InnoSetup pour créer le setup.
>> >> Cela marche sur la plupart des ordinateurs mais il y a quelques
>> >> irréductibles. En général ceux sur lesquels il y a assez peu de


choses
>> >> intallées.
>> >> Un peu comme s'il manquait une dll très courante dés qu'on installé


un
>> >> certain nombre de produits créés à aprtir des logiciels microsoft.
>> >>
>> >> "Christian HUBERT-HUGOUD- Xtrem7" a écrit dans


le
>> >> message de news: cpklbd$t0t$
>> >>
>> >>>Je pense plutôt à une question de déploiement. Quel logiciel
>> >>>d'installation
>> >>>? Les dépendances peuvent être listées grâce au module de


déploiement
> et
>> >>>d'empaquetage fourni avec VB.
>> >>>
>> >>>Cordialement
>> >>>
>> >>>Christian Hubert-Hugoud
>> >>>
>> >>>"Patrice Henrio" a écrit dans le


message
> de
>> >>>news:
>> >>>
>> >>>>Le logiciel que j'ai développé s'installait sans problème sauf sur


un
>> >>>
>> >>>poste
>> >>>
>> >>>>W98 première édition où l'installation marche mais il refuse de
> démarrer
>> >>>>(problème de librairie).
>> >>>>Donc je ne m'affolais pas, conviancu que cette version de windows
> serait
>> >>>>bientôt obsolète.
>> >>>>Mais récemment sur un poste XP et un W98SE le logiciel
>> >>>>s'installe sans difficulté mais refuse de s'exécuter de la même
>> >>>>façon.
>> >>>>D'où ma question.
>> >>>>Je pense que l'ensemble des pb proviennent des dll plus ou moins


bien
>> >>>>implémentées.
>> >>>>Comment faire ?
>> >>>>Pour moi, la bonne solution serait que les fonctions et procédures
>> >>>>des
>> >>>>fameuses dll soient directement codées dans le programme, ce qui
>> >>>>règlerait
>> >>>>une fois pour toutes les pb de version. Bein sûr le socle d'accès


aux
>> >>>>resources de l'ordinateur via windows devrait rester stable comme


du
>> >>>>temps
>> >>>>de MSDOS.
>> >>>>
>> >>>>
>> >>>>"ng" a écrit dans le message de news:
>> >>>>
>> >>>>
>> >>>>>Salut,
>> >>>>>
>> >>>>>Ne connaissant pas Delphi je vais répondre à la 3) seulement :)
>> >>>>>
>> >>>>>A priori, si tu n'utilise pas d'API spécifique à une version de
>> >>>>>windows,
>> >>>>>ton programme sera même portable sur 95 :)
>> >>>>>(mais par exemple pour rendre une appli utilisant un RichTextBox
>> >>>
>> >>>portable
>> >>>
>> >>>>>sous 95 il faut rajouter une DLL mais personnellement je ne me
>> >>>>>préoccupe
>> >>>>>plus de 95, seulement 98.)
>> >>>>>
>> >>>>>Donc pour 98 il faut juste faire attention à certaines API qui
>> >>>>>n'existaient pas (la compatibilité est indiqué dans
>> >>>>>l'api-guide/la
> MSDN
>> >>>>>pour chaque API.
>> >>>>>
>> >>>>>--
>> >>>>>Nicolas G.
>> >>>>>FAQ VB : http://faq.vb.free.fr
>> >>>>>API Guide : http://www.allapi.net
>> >>>>>Google Groups : http://groups.google.fr/
>> >>>>>MZ-Tools : http://www.mztools.com/
>> >>>>>
>> >>>>>Patrice Henrio wrote:
>> >>>>>
>> >>>>>>3 questions
>> >>>>>>
>> >>>>>>1) Où peut-on trouver les correspondances entre les propriétés


des
>> >>>>>>Forms de VB6 et des Frames de Delphi6 ?
>> >>>>>>2) Est-ce que le composant le plus proche de la forme est bien
>> >>>>>>le
>> >>>>>>frame ? 3)Existe-t-il un moyen de rendre un programme écrit en


VB6
>> >>>>>>réellemnt portable quel que soit le windows utilisé (à partir de


98
>> >>>>>>quand même) ?
>> >>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>
>>
>
>








Avatar
Christian HUBERT-HUGOUD- Xtrem7
C'est probable ; je ne connais pas ces composants.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le message de
news:%
Justement même sans code ça plante, avec seulement la forme. Donc je pense
que la remarque de "ng" correspond bien à mon cas.

"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
message de news: cpnao9$gfp$
> Je ne sais pas.
>
> Dans un cas comme le tien, je place des msgbox pour tracer le code


jusqu'à
> voir dans quelle instruction cela plante.
>
> Cordialement
>
> Christian Hubert-Hugoud
>
> "Patrice Henrio" a écrit dans le message de
> news:
>> Je ne pense que cela vienne d'un bug de programmation car la
> caractéristique
>> des ordinateurs sur lequel ça plante c'est des ordinateurs avec très


peu
> de
>> logiciels microsoft installés (à part windows) bien sûr, sur tous les
>> autres, pas de problèmes.
>> Là c'est dés le démarrage qu'il me dit qu'une librairie n'a pas été
> trouvé.
>> Je vais essayer avec la dll que tu indiques.
>> Pour l'instant mes tests m'ont montré que c'est la forme principale de
>> mon
>> projet, sans code qui plante. Donc c'est sûrement un de mes composants


:
>> demain j'essaie en virant un à un les composants.
>> J'ai vu que parmi les références j'avais VB6.OLB, à quoi ça sert ?
>>
>>
>> "Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
>> message de news: cpn8v6$fhp$
>> > Bonjour,
>> >
>> >
>> > J'ajoute (mais je ne sais plus pourquoi) ceci :
>> >
>> > Source: "C:Windowssystemmsvbvm50.dll"; DestDir: "{sys}"; Flags:
>> > regserver
>> > noregerror restartreplace sharedfile allowunsafefiles
> uninsneveruninstall
>> >
>> > Remarque au passage que j'utilise systématiquement les dll qui


servent
> au
>> > développement et qui sont sur mon PC (98SE).
>> >
>> > Il peut y avoir un pb au niveau des flags. Dans ce cas il est


possible
> que
>> > tes dll ne soient pas ajoutées même s'il elles sont plus récentes.
> Ceux-ci
>> > fonctionnent bien sur XP, 2000, 98SE, Me. La version de INNO que
> j'utilise
>> > est 4.1.8.
>> >
>> > En ce qui concerne les api, rien de bien sorcier là-dedans me
> semble-t-il.
>> > Pour les déclarations, voire la visionneuse des API. Si une erreur de
>> > déclaration, ce n'est pas évident de la détecter ; j'ai eu un bug que
> j'ai
>> > cherché longtemps et c'était une erreur dans la déclaration d'une
>> > structure
>> > utilisée dans les API. Évidemment le bug était aléatoire...
>> >
>> > Hope this helps.
>> >
>> > Cordialement
>> >
>> > Christian Hubert-Hugoud
>> >
>> > "Patrice Henrio" a écrit dans le message
>> > de
>> > news:
>> >> Oui mais par contre je crois que l'on n'a pas de problème de dll à
>> > rajouter
>> >> au projet car les fonctions utilisées sont rajoutées au code.
>> >> De plus voici les dll que j'utilises, peux-tu me dire s'il existe


des
>> >> problèmes répertoriés avec.
>> >> VB6STKIT.DLL,10/29/99 ,101888,6.0.84.50
>> >> COMCAT.DLL,6/1/98 ,22288,4.71.1460.1
>> >> vb6fr.dll,10/2/00 ,119568,6.0.89.88
>> >> STDOLE2.TLB,12/23/03 ,17920,2.40.4277.1
>> >> ASYCFILT.DLL, 8/31/99 ,147728,2.40.4277.1
>> >> OLEPRO32.DLL, 8/31/99 ,164112,5.0.4277.1
>> >> OLEAUT32.DLL,6/19/02 ,614672,2.40.4515.0
>> >> msvbvm60.dll, 8/28/01 ,1388544,6.0.92.37
>> >>
>> >> Les fonctions API que j'utilise sont
>> >> Private Declare Function CreateSolidBrush Lib "gdi32" _
>> >> (ByVal crColor As Long) As
> Long
>> >> Private Declare Function PolyPolygon Lib "gdi32.dll" _
>> >> (ByVal hdc As Long, _
>> >> lpPoint As PointAPI, _
>> >> lpPolyCounts As Long, _
>> >> ByVal nCount As Long) As Long
>> >> Private Declare Function SelectObject Lib "gdi32" _
>> >> (ByVal hdc As Long, _
>> >> ByVal hObject As Long) As Long
>> >> Private Declare Function DeleteObject Lib "gdi32" _
>> >> (ByVal hObject As Long) As Long
>> >> Private Declare Function CreatePolygonRgn Lib "gdi32" _
>> >> (lpPoint As PointAPI, _
>> >> ByVal nCount As Long, _
>> >> ByVal nPolyFillMode As
>> >> Long)
>> >> As
>> >> Long
>> >> Private Declare Function CreatePolyPolygonRgn Lib "gdi32" _
>> >> (lpPoint As PointAPI, _
>> >> lpPolyCounts As Long,


_
>> >> ByVal nCount As Long,


_
>> >> ByVal nPolyFillMode As
>> >> Long)
>> >> As Long
>> >> Private Declare Function PtInRegion Lib "gdi32" _
>> >> (ByVal hRgn As Long, _
>> >> ByVal X As Long, _
>> >> ByVal Y As Long) As Long
>> >> Private Declare Function FillRgn Lib "gdi32" _
>> >> (ByVal hdc As Long, _
>> >> ByVal hRgn As Long, _
>> >> ByVal hBrush As Long) As Long
>> >> Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"


_
>> >> (pDst As Any, _
>> >> pSrc As Any, _
>> >> ByVal ByteLen As Long)
>> >> Private Declare Function CreateEllipticRgn Lib "gdi32" _
>> >> (ByVal X1 As Long, _
>> >> ByVal Y1 As Long, _
>> >> ByVal X2 As Long, _
>> >> ByVal Y2 As Long) As


Long
>> >>
>> >> Private Declare Function RegCloseKey Lib "advapi32.dll" _
>> >> (ByVal hKey As Long) As Long
>> >> Private Declare Function RegCreateKey Lib "advapi32.dll" Alias
>> >> "RegCreateKeyA" _
>> >> (ByVal hKey As Long, _
>> >> ByVal lpSubKey As String, _
>> >> phkResult As Long) As Long
>> >> Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias
>> >> "RegSetValueExA" _
>> >> (ByVal hKey As Long, _
>> >> ByVal lpValueName As String,


_
>> >> ByVal Reserved As Long, _
>> >> ByVal dwType As Long, _
>> >> lpData As Any, _
>> >> ByVal cbData As Long) As


Long
>> >> Private Declare Function PolyPolyline Lib "gdi32.dll" _
>> >> (ByVal hdc As Long, _
>> >> lppt As PointAPI, _
>> >> lpdwPolyPoints As Long, _
>> >> ByVal cCount As Long) As Long
>> >>
>> >> Private Const ALTERNATE = 1
>> >> Private Const HKEY_CURRENT_USER = &H80000001
>> >> Private Const REG_SZ = 1 'Chaîne unicode de code de fin égal à 0
>> >> Private Declare Function FindFirstFile Lib "kernel32" Alias
>> > "FindFirstFileA"
>> >> _
>> >> (ByVal lpFileName As String, lpFindFileData As
> WIN32_FIND_DATA)
>> > As
>> >> Long
>> >> Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" ( _
>> >> ByVal lpFileName As String) As Long
>> >> Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" ( _
>> >> ByVal lpExistingFileName As String, _
>> >> ByVal lpNewFileName As String, _
>> >> ByVal bFailIfExists As Long) As Long
>> >>
>> >>
>> >> Private Type FILETIME
>> >> dwLowDateTime As Long
>> >> dwHighDateTime As Long
>> >> End Type
>> >>
>> >> Private Type WIN32_FIND_DATA
>> >> dwFileAttributes As Long
>> >> ftCreationTime As FILETIME
>> >> ftLastAccessTime As FILETIME
>> >> ftLastWriteTime As FILETIME
>> >> nFileSizeHigh As Long
>> >> nFileSizeLow As Long
>> >> dwReserved0 As Long
>> >> dwReserved1 As Long
>> >> cFileName As String * 260
>> >> cAlternate As String * 14
>> >> End Type
>> >>
>> >>
>> >> "christophe-pasde<> @wanadoo.fr>" <"christophe-pasde<> a écrit dans


le
>> >> message de news: 41bea9c2$0$10222$
>> >> > Bonjour
>> >> >
>> >> > Attention, comme signalé plus haut il y a de nombreuses


différences
>> > entre
>> >> > les versions de windows notamment au niveau des APIs donc faire


trés
>> >> > attention aux contenu des dll (si tant est que tu le connaisses).
>> >> > Pour parler uniquement de la partie que je connais, si tes dll ou
>> >> > ton
>> > code
>> >> > utilise gdi32.dll tu peux t'attendre à des grosses
> surprises.(Certaine
>> >> > fonctions n'existe carrement pas en 98SE et d'autre on un
> comportement
>> >> > étrange (memory leak). J'ai tenté désespérement de faire


fonctionner
>> >> > mon
>> >> > appli sous 98SE, pour qu'au bout de 1 heures ou 2 ou 30 mmm


suivant
> la
>> >> > puissance du pc, l'utilisateur soit obligé de rebooter la machine.
>> >> >
>> >> > Une solution efficace est de tester la version de windows en cours
>> >> > et
>> >> > de
>> >> > faire des déclaration optionnels ou de tester avant d'entamer un
>> >> > bout
>> >> > de
>> >> > code spécifique.
>> >> >
>> >> > Mais il y a des fois (c'est mon cas) où il faut être clair :


tourne
>> >> > uniquement sous Win2KSP3 XP NT4.
>> >> >
>> >> > Maintenant si tu veux convertir vers Delphi pour le peu que j'en
>> >> > connais
>> >> > il est dépendant de Windows, comme VB.
>> >> >
>> >> >
>> >> > Christophe
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > Patrice Henrio a écrit :
>> >> >> J'utilise à la fois le complément empaquetage et déploiement de


VB
>> >> >> pour
>> >> >> connaître les dépendances et InnoSetup pour créer le setup.
>> >> >> Cela marche sur la plupart des ordinateurs mais il y a quelques
>> >> >> irréductibles. En général ceux sur lesquels il y a assez peu de
> choses
>> >> >> intallées.
>> >> >> Un peu comme s'il manquait une dll très courante dés qu'on


installé
> un
>> >> >> certain nombre de produits créés à aprtir des logiciels


microsoft.
>> >> >>
>> >> >> "Christian HUBERT-HUGOUD- Xtrem7" a écrit


dans
> le
>> >> >> message de news: cpklbd$t0t$
>> >> >>
>> >> >>>Je pense plutôt à une question de déploiement. Quel logiciel
>> >> >>>d'installation
>> >> >>>? Les dépendances peuvent être listées grâce au module de
> déploiement
>> > et
>> >> >>>d'empaquetage fourni avec VB.
>> >> >>>
>> >> >>>Cordialement
>> >> >>>
>> >> >>>Christian Hubert-Hugoud
>> >> >>>
>> >> >>>"Patrice Henrio" a écrit dans le
> message
>> > de
>> >> >>>news:
>> >> >>>
>> >> >>>>Le logiciel que j'ai développé s'installait sans problème sauf


sur
> un
>> >> >>>
>> >> >>>poste
>> >> >>>
>> >> >>>>W98 première édition où l'installation marche mais il refuse de
>> > démarrer
>> >> >>>>(problème de librairie).
>> >> >>>>Donc je ne m'affolais pas, conviancu que cette version de


windows
>> > serait
>> >> >>>>bientôt obsolète.
>> >> >>>>Mais récemment sur un poste XP et un W98SE le logiciel
>> >> >>>>s'installe sans difficulté mais refuse de s'exécuter de la même
>> >> >>>>façon.
>> >> >>>>D'où ma question.
>> >> >>>>Je pense que l'ensemble des pb proviennent des dll plus ou moins
> bien
>> >> >>>>implémentées.
>> >> >>>>Comment faire ?
>> >> >>>>Pour moi, la bonne solution serait que les fonctions et


procédures
>> >> >>>>des
>> >> >>>>fameuses dll soient directement codées dans le programme, ce qui
>> >> >>>>règlerait
>> >> >>>>une fois pour toutes les pb de version. Bein sûr le socle


d'accès
> aux
>> >> >>>>resources de l'ordinateur via windows devrait rester stable


comme
> du
>> >> >>>>temps
>> >> >>>>de MSDOS.
>> >> >>>>
>> >> >>>>
>> >> >>>>"ng" a écrit dans le message de news:
>> >> >>>>
>> >> >>>>
>> >> >>>>>Salut,
>> >> >>>>>
>> >> >>>>>Ne connaissant pas Delphi je vais répondre à la 3) seulement :)
>> >> >>>>>
>> >> >>>>>A priori, si tu n'utilise pas d'API spécifique à une version de
>> >> >>>>>windows,
>> >> >>>>>ton programme sera même portable sur 95 :)
>> >> >>>>>(mais par exemple pour rendre une appli utilisant un


RichTextBox
>> >> >>>
>> >> >>>portable
>> >> >>>
>> >> >>>>>sous 95 il faut rajouter une DLL mais personnellement je ne me
>> >> >>>>>préoccupe
>> >> >>>>>plus de 95, seulement 98.)
>> >> >>>>>
>> >> >>>>>Donc pour 98 il faut juste faire attention à certaines API qui
>> >> >>>>>n'existaient pas (la compatibilité est indiqué dans
>> >> >>>>>l'api-guide/la
>> > MSDN
>> >> >>>>>pour chaque API.
>> >> >>>>>
>> >> >>>>>--
>> >> >>>>>Nicolas G.
>> >> >>>>>FAQ VB : http://faq.vb.free.fr
>> >> >>>>>API Guide : http://www.allapi.net
>> >> >>>>>Google Groups : http://groups.google.fr/
>> >> >>>>>MZ-Tools : http://www.mztools.com/
>> >> >>>>>
>> >> >>>>>Patrice Henrio wrote:
>> >> >>>>>
>> >> >>>>>>3 questions
>> >> >>>>>>
>> >> >>>>>>1) Où peut-on trouver les correspondances entre les propriétés
> des
>> >> >>>>>>Forms de VB6 et des Frames de Delphi6 ?
>> >> >>>>>>2) Est-ce que le composant le plus proche de la forme est bien
>> >> >>>>>>le
>> >> >>>>>>frame ? 3)Existe-t-il un moyen de rendre un programme écrit en
> VB6
>> >> >>>>>>réellemnt portable quel que soit le windows utilisé (à partir


de
> 98
>> >> >>>>>>quand même) ?
>> >> >>>>>
>> >> >>>>>
>> >> >>>>
>> >> >>>
>> >> >>
>> >>
>> >
>> >
>>
>>
>
>




Avatar
Patrice Henrio
Voici les composants utilisés :
un webbrowser, un frame, un listbox, un slider, des spinbuttons, un
checkbox, des labels, des menus, un picture box
Qu'est-ce qui peut poser problème là dedans ?
Par quoi je peux remplacer ?
"Patrice Henrio" a écrit dans le message de
news:
J'ai fait le tour des références :
Visual Basic For Applications ---> msvbvm60.dll
Visual Basic runtime objects and procedures ---> msvbvm60.dll 3
Visual Basic objects and procedures ---> VB6.OLB
Microsoft Internet Controls ---> shdocvw.oca

Pour les composants :
Controles
Microsoft Forms 2.0 Object Library --->FM20.DLL
Microsoft Internet Controls --->shdocvw.dll
Microsoft Windows Common Controls 6.0 (SP4) ---> MSCOMCTL.OCX



"Patrice Henrio" a écrit dans le message de
news: Of9V%
Si justement. Quels conseils peux-tu me donner ?


"ng" a écrit dans le message de news:

Salut,

Et tu utilises quoi comme composants/DLL dans ton appli ? Tu
n'utiliserais pas les controles Forms 2.0 par hasard ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
J'utilise à la fois le complément empaquetage et déploiement de VB
pour connaître les dépendances et InnoSetup pour créer le setup.
Cela marche sur la plupart des ordinateurs mais il y a quelques
irréductibles. En général ceux sur lesquels il y a assez peu de choses
intallées.
Un peu comme s'il manquait une dll très courante dés qu'on installé un
certain nombre de produits créés à aprtir des logiciels microsoft.

"Christian HUBERT-HUGOUD- Xtrem7" a écrit dans le
message de news: cpklbd$t0t$
Je pense plutôt à une question de déploiement. Quel logiciel
d'installation
? Les dépendances peuvent être listées grâce au module de
déploiement et d'empaquetage fourni avec VB.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le
message de news:
Le logiciel que j'ai développé s'installait sans problème sauf sur
un poste W98 première édition où l'installation marche mais il
refuse de démarrer (problème de librairie).
Donc je ne m'affolais pas, conviancu que cette version de windows
serait bientôt obsolète.
Mais récemment sur un poste XP et un W98SE le logiciel
s'installe sans difficulté mais refuse de s'exécuter de la même
façon. D'où ma question.
Je pense que l'ensemble des pb proviennent des dll plus ou moins
bien implémentées.
Comment faire ?
Pour moi, la bonne solution serait que les fonctions et procédures
des fameuses dll soient directement codées dans le programme, ce qui
règlerait
une fois pour toutes les pb de version. Bein sûr le socle d'accès
aux resources de l'ordinateur via windows devrait rester stable
comme du temps
de MSDOS.


"ng" a écrit dans le message de news:

Salut,

Ne connaissant pas Delphi je vais répondre à la 3) seulement :)

A priori, si tu n'utilise pas d'API spécifique à une version de
windows,
ton programme sera même portable sur 95 :)
(mais par exemple pour rendre une appli utilisant un RichTextBox
portable sous 95 il faut rajouter une DLL mais personnellement je
ne me préoccupe
plus de 95, seulement 98.)

Donc pour 98 il faut juste faire attention à certaines API qui
n'existaient pas (la compatibilité est indiqué dans l'api-guide/la
MSDN pour chaque API.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
3 questions

1) Où peut-on trouver les correspondances entre les propriétés des
Forms de VB6 et des Frames de Delphi6 ?
2) Est-ce que le composant le plus proche de la forme est bien le
frame ? 3)Existe-t-il un moyen de rendre un programme écrit en VB6
réellemnt portable quel que soit le windows utilisé (à partir de
98 quand même) ?






















Avatar
ng
Salut,

Qu'utilises-tu des controles Forms 2.0 ?
Seulement les spinbuttons ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
Voici les composants utilisés :
un webbrowser, un frame, un listbox, un slider, des spinbuttons, un
checkbox, des labels, des menus, un picture box
Qu'est-ce qui peut poser problème là dedans ?
Par quoi je peux remplacer ?
"Patrice Henrio" a écrit dans le message
de news:
J'ai fait le tour des références :
Visual Basic For Applications ---> msvbvm60.dll
Visual Basic runtime objects and procedures ---> msvbvm60.dll 3
Visual Basic objects and procedures ---> VB6.OLB
Microsoft Internet Controls ---> shdocvw.oca

Pour les composants :
Controles
Microsoft Forms 2.0 Object Library --->FM20.DLL
Microsoft Internet Controls --->shdocvw.dll
Microsoft Windows Common Controls 6.0 (SP4) ---> MSCOMCTL.OCX



"Patrice Henrio" a écrit dans le
message de news: Of9V%
Si justement. Quels conseils peux-tu me donner ?


"ng" a écrit dans le message de news:

Salut,

Et tu utilises quoi comme composants/DLL dans ton appli ? Tu
n'utiliserais pas les controles Forms 2.0 par hasard ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
J'utilise à la fois le complément empaquetage et déploiement de VB
pour connaître les dépendances et InnoSetup pour créer le setup.
Cela marche sur la plupart des ordinateurs mais il y a quelques
irréductibles. En général ceux sur lesquels il y a assez peu de
choses intallées.
Un peu comme s'il manquait une dll très courante dés qu'on
installé un certain nombre de produits créés à aprtir des
logiciels microsoft. "Christian HUBERT-HUGOUD- Xtrem7"
a écrit
dans le message de news: cpklbd$t0t$
Je pense plutôt à une question de déploiement. Quel logiciel
d'installation
? Les dépendances peuvent être listées grâce au module de
déploiement et d'empaquetage fourni avec VB.

Cordialement

Christian Hubert-Hugoud

"Patrice Henrio" a écrit dans le
message de news:
Le logiciel que j'ai développé s'installait sans problème sauf
sur un poste W98 première édition où l'installation marche mais
il refuse de démarrer (problème de librairie).
Donc je ne m'affolais pas, conviancu que cette version de
windows serait bientôt obsolète.
Mais récemment sur un poste XP et un W98SE le logiciel
s'installe sans difficulté mais refuse de s'exécuter de la même
façon. D'où ma question.
Je pense que l'ensemble des pb proviennent des dll plus ou moins
bien implémentées.
Comment faire ?
Pour moi, la bonne solution serait que les fonctions et
procédures des fameuses dll soient directement codées dans le
programme, ce qui règlerait
une fois pour toutes les pb de version. Bein sûr le socle
d'accès aux resources de l'ordinateur via windows devrait
rester stable comme du temps
de MSDOS.


"ng" a écrit dans le message de news:

Salut,

Ne connaissant pas Delphi je vais répondre à la 3) seulement :)

A priori, si tu n'utilise pas d'API spécifique à une version de
windows,
ton programme sera même portable sur 95 :)
(mais par exemple pour rendre une appli utilisant un
RichTextBox portable sous 95 il faut rajouter une DLL mais
personnellement je ne me préoccupe
plus de 95, seulement 98.)

Donc pour 98 il faut juste faire attention à certaines API qui
n'existaient pas (la compatibilité est indiqué dans
l'api-guide/la MSDN pour chaque API.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Patrice Henrio wrote:
3 questions

1) Où peut-on trouver les correspondances entre les
propriétés des Forms de VB6 et des Frames de Delphi6 ?
2) Est-ce que le composant le plus proche de la forme est
bien le frame ? 3)Existe-t-il un moyen de rendre un programme
écrit en VB6 réellemnt portable quel que soit le windows
utilisé (à partir de 98 quand même) ?


















1 2 3