Liaison Tardive - Option Strict
Résolu
nicelife90
Messages postés
676
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Voici une parcelle de code que j'ai créé
j'ai appliquer l'option option strict à mon projet et voila que j'ai un message concernant cette ligne :
Option Strict On rejette toute liaison tardive.
et cette ligne :
Option Strict On rejette toute liaison tardive.
Comment puis-je régler cette erreur ?
Voici une parcelle de code que j'ai créé
Dim FSys = CreateObject("Scripting.FileSystemObject")
Dim realmlist = FSys.CreateTextFile(file_path & "\Data\" & language & "\realmlist.wtf")
With realmlist
.writeLine("set realmlist " & My.Settings.RealmSelected)
End With
j'ai appliquer l'option option strict à mon projet et voila que j'ai un message concernant cette ligne :
Dim realmlist = FSys.CreateTextFile(file_path & "\Data\" & language & "\realmlist.wtf")
Option Strict On rejette toute liaison tardive.
et cette ligne :
.writeLine("set realmlist " & My.Settings.RealmSelected)
Option Strict On rejette toute liaison tardive.
Comment puis-je régler cette erreur ?
A voir également:
- Liaison Tardive - Option Strict
- Option d'ergonomie - Guide
- Option volte/vowifi - Guide
- Liaison torride - Forum Réseaux sociaux
- Delete boot option - Forum BIOS
- Option voyage free - Forum Free mobile
si tu met ce bloque dans n'importe quel sub exemple un sub de bouton :
Dim FSys = CreateObject("Scripting.FileSystemObject") Dim realmlist = FSys.CreateTextFile(file_path & "\Data\" & language & "\realmlist.wtf") With realmlist .writeLine("set realmlist " & My.Settings.RealmSelected) End Withet que tu met option strict a ON au niveau de ton projet tu vera de quel type d'erreur il s'agit!
PS : je tiens a dire que la syntaxe de ce bloque de code est totalement fonctionnel avec option strict a OFF
La liaison tardive est justement créé parce que la variable est déclaré sans type,
et que l'instruction veut créer un type d'objet et le lié à cette variable.
Comme spécifié, je suis sur de mon code sous VBS :
<code>
' Fichier Ecrire.vbs
Const ctePourLecture = 1
Const ctePourEcrire = 2
Const ctePourAjouter = 8
Const cteRapport = "Rapport.txt"
Dim objFSO, objFichier, varNomFic
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Localisation du fichier à écrire
varNomFic = WScript.ScriptFullName
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
varNomFic = varNomFic & cteRapport
' Valide si fichier existe
If ( objFSO.FileExists(varNomFic) ) Then
Set objFichier = objFSO.OpenTextFile(varNomFic,ctePourAjouter)
Else
Set objFichier = objFSO.CreateTextFile(varNomFic,ctePourEcrire)
End If
<code>
Ce code a été éprouvé de façon très explicite.
Malheureusement, je ne puis t'aider davantage, je n'ai à ce jour jamais utlisé
les objets de "Scripting" dans un projet .NET.
Je te recommande d'utiliser les classes du FrameWork pour lire/écrire dans un fichier.
Ex.: https://plasserre.developpez.com/cours/vb-net/?page=langage-vb8#V-AC
Cdt
Lupin
Voici un exemple brut :
Imports System.IO Public Class EcrireUnFichier Public Sub EcrireUnFichier() Dim file_path As String = ChercheDossier() Dim Language As String = "fr" Dim Dossier As String = String.Concat(file_path, "Data\", Language, "\") Dim NomFichier As String = Dossier & "realmlist.wtf" Dim LeFichier As New StreamWriter(NomFichier, True) LeFichier.WriteLine("Lupin") LeFichier.WriteLine(System.DateTime.Now.ToShortDateString) LeFichier.Close() End Sub Private Function ChercheDossier() As String Dim Parcourrir As New FolderBrowserDialog Dim Chemin As String = String.Empty With Parcourrir If (.ShowDialog = Windows.Forms.DialogResult.OK) Then Chemin = .SelectedPath Chemin &= "\" End If End With Return Chemin End Function End ClassCdt
Lupin