begin process at 2012 02 13 16:03:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Système

 > 

Autre

 > 

Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6

dimanche 7 décembre 2008 à 13:30:33 | Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6

doyen

Bonjour

Je viens de passer de W2k sur Vista j'ai importé VB6 et appliqué le sp6 , mon programme fonctionnait parfaitement avant .

Je ne m'en sors pas le premier programme que je prend ( pour amelioration ) se plante lamentablement ,en erreur 16 "Expression trop complexe " ???? déjà sur la ligne en Bleu

En gros dans un picturebox j'affiche des images et je memorise dans une table (tab_img) leur implanation , au survol , je test de quelle image il s'agit , pour traitement .

Private Sub PlanImages_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer, Xx As Integer, Yy As Integer
On Error GoTo err_Resume
PlanImages.ToolTipText = ""
If Not (Not Tab_Img) Then
Xx = x: Yy = y
    For i = 0 To UBound(Tab_Img) - 1
.
.
etc



A l'origine j'avais ce test simplemenbt ( qui marchait ) :
        If x >= Tab_Img(i).Position_ImageX And x <= Tab_Img(i).Position_ImageX + LargShape And _
           y >= Tab_Img(i).Position_ImageY And y <= Tab_Img(i).Position_ImageY + HautShape Then


ça promet !!!!!

Je ne comprend plus là ...

Si vous avez un idée .....

Bon week a tous







dimanche 7 décembre 2008 à 14:09:09 | Re : Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6

casy

Membre Club
Pourquoi changer ton code puisqu'il marchait ??

If Not (Not Tab_Img) Then ...
Ce code ne sert à rien. Les 2 Not s'annulent mutuellement. Cela revient à faire If Tab_Img Then, ce qui en soit est incohérent puisque Tab_Img n'est pas un boolean. Il faut que tu revoie ton test

Pour finir, l'erreur n'est pas sur la ligne en bleu. Si VB t'indique l'erreur là, c'est qu'il est complètement perdu à cause d'une autre erreur ailleurs.


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
dimanche 7 décembre 2008 à 14:39:35 | Re : Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6

PCPT

Administrateur CodeS-SourceS
salut,

not not tab_img sert ici à savoir si tab_img est dimentionné

ce test peut justement amener cette erreur (16) alétoirement.

tu peux le remplacer par ce code :


'    SAVOIR SI UN TABLEAU EXISTE (DIMENSION)
'    http://www.codyx.org/snippet_savoir-si-tableau-existe-dimension_231.aspx#2108
'    Posté par [ PCPT ] le 25/10/2008


Private Declare Sub  CopyMemory  Lib  "kernel32"  Alias  "RtlMoveMemory"  (pDst  As Any , pSrc  As Any ByVal  ByteLen As Long )
Private Declare Function  VarPtrArray  Lib  "msvbvm60.dll"  Alias  "VarPtr"  (Ptr()  As Any As Long
'
Function  IsArrayNull( ByRef  aArray() As Byte ) As Boolean
    Dim lVarPtr As Long, lRet As Long
    lVarPtr = VarPtrArray(aArray)
    Call CopyMemory(lRet, ByVal lVarPtr, 4&)
    IsArrayNull = (lRet = 0)
End Function

'----------------------------------------------------------------
'Remarques :
'le précédent code fonctionne, mais provoque "parfois" une erreur 16 (expression trop complexe), surtout si la compilation est en p-code
'
'cette méthode est plus sûre, explication à cette adresse :
'http://support.microsoft.com/kb/199824



tu peux aussi en profiter pour typer correctement XX as SINGLE et non as integer
++

Prenez un instant pour répondre à ce sondage svp 
dimanche 7 décembre 2008 à 18:36:58 | Re : Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6

doyen

Re ,

Merci a vous 2 pour vos réponses , j'ai modifié le code en substituant le test par isarraynull , je met aussi la declaration du tableau !!

Public Type Tab_Image
    Chemin_Image As String
    Label_Image_Ori As String
    Label_Image_Jpg As String
    Label_Image_sans_Ext As String
    Largeur_Image As Long
    Hauteur_Image As Long
    Largeur_Vignette As Long
    Hauteur_Vignette As Long
    Comment_Image As String
    Date_Image As Date
    Position_ImageX As Integer
    Position_ImageY As Integer
    Comment1 As String
    Comment2 As String
    Comment3 As String
    Comment4 As String
End Type

Public Tab_Img() As Tab_Image


Private Sub PlanImages_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer
On Error Resume Next
PlanImages.ToolTipText = ""
' If Not (Not Tab_Img) Then
If Not IsArrayNull(Tab_Img()) Then

    For i = 0 To UBound(Tab_Img) - 1
        If x >= Tab_Img(i).Position_ImageX And x <= Tab_Img(i).Position_ImageX + LargShape And _
           y >= Tab_Img(i).Position_ImageY And y <= Tab_Img(i).Position_ImageY + HautShape Then

J'ai une erreur

Incompatibilité de type: Tableau ou type defini par l'utilisateur attendu !!!

Merci encore et A+



dimanche 7 décembre 2008 à 19:21:17 | Re : Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6

PCPT

Administrateur CodeS-SourceS
Réponse acceptée !
évidemment c'est un param byte attendu dans l'exemple, t'as juste à remplacer par ByRef aArray() As tab_image
dimanche 7 décembre 2008 à 19:38:58 | Re : Gros pb erreur 16 "expression trop complexe" après migr W2K--> Vista avec VB6

doyen



Gros merci PCPT pour ton efficacité , chapeau !

Bonne semaine a tous



Cette discussion est classée dans : erreur, img, tab, gros, integer


Répondre à ce message

Sujets en rapport avec ce message

RmDir = Gros Pbs [ par Nanabel ] C'est simple, il y a un répertoire (qui exsite) que je veux supprimer, il est vide, j'appelle RmDir et vb me fait le msg d'erreur suivant : "ERREUR DA Gros pb avec access => ado [ par nicolson ] Salut tout le monde !J'ai un petit problème...J'ai fait un annuaire, et tout marche bien...Mais à force de tester, j'ai remarqué que quand je laissais Gros probleme!!!!!! a l'aide!!!!!!!! (controls dynamik) [ par MaDC ] Bonjour tout le mond,e je suis actuellement en stage, et je suis bloqué dans un truc, si vous pouviez m'aider, ça me sauverai la vie!! ça deviens urge SOA_Glob [ par BasicInstinct ] qd je fais tourné mon projet créé en access97 sur un poste avec le runtime Access2000, j'ai systematiquement une erreur:"Erreur dans le module caché S Pb !!! ERREUR EXECUTION N°5 [ par Spe6men ] Bonjour a tous Je ne cherche pas vraiment a realiser un prog de cryptage mis Je voudrai juste comprendre d ou vien cet erreur Voila la source Module1 [vb.net]erreur IO [ par bloodaxe ] Salut tous, j'ai un soucis avec une image que je charge depuis un fichier:Dim img As Image 'variable globaleDim path_wallpaper as Stringpath_wallpap Erreur de chemin ??? [ par JTCorporation ] Bijour Pourriez vous me dire ce ki cloche ds ces lognes de codes ???Private Sub IAide_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Gros problème avec VB .NET!!! [ par FAS ] Bonjour,Je me suis mis il y a qqes jour au vb .Net. J'ai téléchargé qqes programmes, mais VB .Net me retourne toujours une erreur quand il essaie de l création de fichier [ par van6071 ] Bonjour, Je débute en Delphi et j'ai une erreur que je ne comprend pas voici mon code Code: procedure Present_euro.MAJ_Click(sender: System.Object; Une erreur générique s'est produite dans GDI+. [ par Lucyberad ] Bonjour,Je poste ce message car j'ai un petit problèmeje souhaite inclure des images dans un fichier XMLj'ai donc découvert ce code:    Public Functio


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,231 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales