bonjour

ca fait 2 jours et 2 nuits que je cherche une solution à mon problème que je vous explique.

Voilà, j'ai besoin d'avoir un fichier en acces direct et j'utilise les commandes suivantes :

fileopen
filegetobject
fileputobject
fileclose

or j'ai un message qui me dit que la structure xxx n'est pas valide par rapport à la commande fileputobject.

Voici un extrait de mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
imports system.IO
Public Structure batiment
        Dim numeroprod As Integer
        Dim levelbat As Byte
        Dim zone As Byte
        Dim tempsprod As DateTime
        Dim valide As Byte
        <VBFixedString(200)> Dim chaine As String
    End Structure
    Public libre As Long = 0
    Public nomflile As String = My.Application.Info.DirectoryPath & "\base.bdd"
    Public rlile As batiment
    Dim reclong As Long = Len(rlile)
    Public longflile As Long = 0
sub
    libre = FreeFile()
    FileOpen(libre, nomflile, OpenMode.Random, OpenAccess.ReadWrite, OpenShare.Shared, reclong)
        longflile = FileLen(nomflile) / reclong
        If longflile <= 0 Then Exit Sub
        Dim vijk As Long = 0
        For vijk = 1 To tbatile ' contient le nombre de batiments à sauvegarder
            'expres je n'assigne pas les champs de la structure pour alleger le code
            FilePutObject(libre, rlile) ' c'est ici que ca coince 
        Next
      FileClose(libre)
 End Sub
j'ai essayé le code en otant le champ de type STRING ca ne change rien à l'erreur.

Donc si vous avez déjà trouvé une méthode pour faire marcher les commandes en question, je suis preneur.

D'avance merci pour votre aide