Jeg har et program som skriver resultatfiler. Dette program har jeg kun som exekverbar fil. Det kan ikke umiddelbart laves om. Når dette program påbegynder en opgave åbnes en resultatfile. Efterhånden bliver resultatfilen større og større og til sidst, når opgaven er løst, lukkes filen.
Jeg forsøger at lave et VB program, som kan åbne og tolke disse resultatfiler fra det første program. Programmet finder den nyeste file, åbner den og tolker indholdet. Her kommer problemet: Før jeg åbner den sidst-til-komne file er VB-programmet nødt til at vide at det første program er færdigt med at skrive til filen. Hvordan kan man med VB på en elegant måde konstatere at filen ikke er åben af et andet program.
Jeg har selv prøvet mig frem med varianter af at åbne filen og reagere på fejl-respons. Men det virker ikke hver gang. Det er lykkedes mig at læse fra en file som i forvejen var åben af et andet program, så jeg stoler ikke helt på denne metode.
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Jeg tror ikke at den \"låser\" filen på den måde. Nærmere at resultatprogrammet åbner filen, skriver, lukker den igen - mange gange. Derfor kan du ikke være sikker på at filen er i brug.
Prøv evt. at starte dit resultat program, lad den åbne en resultat fil, gå ud i stifinder, og prøv at slette filen. Hvis dette lykkedes, har programmet ikke låst filen.
Du kan evt. (hvis du har rettigheder til det) tilføje et # (eller hvad somhelst andet - bare det er unikt) som det første tegn i en fil når den åbnes - derefter skal programmet der åbner filen gemme det. Når så programmet afslutter sin \"behandling\"/brug af filen - skal den fjerne det pågældende tegn - # igen.
Når et andet program så åbner samme fil - så skal det tjekke om der står et # (eller hvad tegn eller tegnkombination der blev valgt) som det første tegn. Hvis det er tilfældet - altså hvis der er et # som første tegn - så er det ensbetydende med, at filen er åbnet (og i brug) i et andet program - og det må således ikke åbnes igen. Hvis der ikke er et # som det første tegn - så er filen ikke i brug - og kan således \"frit benyttes\" af det pågældende program.
Jeg ved ikke om det er elegant - men det er i hvert fald simpelt :)
Nej, jeg kan ikke delete filen eller åbne den med wordpad. Men fra mit VB program opnår jeg til egen overraskelse adgang til filen får den er lukket af det første program.
Jeg tror min version af VB er lidt mere anarkistisk overfor åbne filers tilhørsforhold end VB ellers er. (Det kunne man jo godt kalde en feature i nogen test-sammenhænge.) Intil vidre har jeg været nødt til at gå hårdhændet tilværks. Hvis jeg flytter filen helt væk fra det sted, hvor den oprindeligt er placeret, kan jeg ikke undgå fejlmeddelelser. Flytningern lykkes naturligvis først, når det første program har lukket filen. Det virker men er bestemt ikke elegant. Så jeg søger stadig en måde at få windows til at svare på filens tilhørsforhold jfr ovenstående. SE
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.