Je suis en train de convertir un petit script Autoit (que j'ai fait) en programme PureBasic. Au passe j'en profite pour utiliser le typage plus fort disponible avec PureBasic que ce que l'on peut faire avec Autoit. Et là, j'ai un problème.
Mon programme tente de faire un traitement sur des fichiers log selon des modèles fournis. Je me retrouve avec la logique suivante :
Code : Tout sélectionner
; J'implémente mon modèle dans une structure.
Structure Template
Type.i
Pattern.s
Callback.Callback ; Fonction de rappel qui effectue le traitement
EndStructure
; Pour avoir un typage (un peu) plus fort, j'utilise un prototype.Celui-ci prend
; en paramètre l'enregistrement à traiter et le modèle qui à fait la correspondance
; (information indispensable pour certains traitements qui peuvent être
; déclenchés par plusieurs modèles).
Prototype.i callback(*record.Record, *template.Template)
Il y a bien la solution qui consisterait à faire sauter l'information du type d'un coté ou de l'autre mais je trouve ça moche. Si quelqu'un vois une façon de résoudre ce problème de dépendance tout en gardant gardant l'information du type, je suis preneur.