Avatar billede pdj Novice
24. november 1999 - 15:42 Der er 14 kommentarer og
1 løsning

Hvordan "eksekverer" man et dokument vha. automation?

Jeg benytter et udviklingsværktøj der har mangelfulde funktioner til rådighed når der skal startes eksterne programmer. Til gengæld har jeg adgang til OCX'er og Automations.

Så hvordan starter jeg et vilkårligt dokument (vha. registreret extension), men samtidigt venter til man lukker ned igen.

Eksempelvis ønsker jeg at gemme et fil (fx. en *.bmp) i min egen database. Og når brugeren vil rette i den, gemmer jeg den i c:\temp\dummy.bmp og vil så starte dummy.bmp, så starte brugeren bmp-editor op. Og nu brugeren lukker editoren ned, skal mit pgm importerer filen, og putte den i sikkerhed i min database :-)

Hvordan gør jeg det?
Avatar billede caledonia Nybegynder
24. november 1999 - 15:53 #1
Brug fx. START /W paint.exe

Gå i dos vindue og skriv START /?

P.S. Hvad er det for et udviklingsværktøj?
Avatar billede pdj Novice
24. november 1999 - 15:56 #2
Nej. Problemet er, at vist man skriver "start /w pic.bmp" så venter den ikke. På Win2000 gør den dog, men det gør den ikke på Win9x, og der skal det også virke...
Avatar billede caledonia Nybegynder
24. november 1999 - 15:59 #3
OK, det problem er et windows problem! Opgrader til SR2 eller kopier startfilen manuelt over på den PC (mener den i W9x ligger som en fil).
Avatar billede pdj Novice
24. november 1999 - 16:13 #4
Hmmmm, det ser sgu ud til du har ret. (Testet i DOS) Så må jeg lige prøve og se hvad problemet er. (Moment)
Avatar billede pdj Novice
24. november 1999 - 16:25 #5
Grunden til at jeg ikke kunne få det til at virke, var at jeg var sikker på at man skulle gå via command.com, og der virker det som jeg beskrev. Når man bare kalder start.exe virker det.

Ved du så også hvordan jeg slipper for det "grimme" DOS vindue?
Avatar billede caledonia Nybegynder
24. november 1999 - 16:39 #6
Eehh!? Virker det ikke når du bruger command.com eller ?!

Skriv evt. kode linien her. Og hvilket udviklingsværktøj er det ?
Avatar billede pdj Novice
24. november 1999 - 20:21 #7
Nej, det virker ikke når jeg går via command.com. Jeg tror at den har en intern start kommando der ikke venter med mindre man direkte angiver et pgm.

Dvs: "command.com /c start /w pic.bmp" virker ikke. (starter korrekt, men mit pgm fortsætter)
Men: "start /w pic.bmp" virker??

Derimod virker: "command.com /c start /w pgm.exe" ??? (Total underligt!)

Jeg koder forøvrigt i C/AL. Og nej, det er IKKE særlig udbredt :-)

Det er ret "pascal'sk", men helt sit eget...

Men jeg kan ikke lade være med at tænke på om man kan gøre det via OLE-Automation, så man slipper for dos-boksen, og evt. også at have filen ud på disk, men bare videregive den som BLOB, men jeg drømmer nok for meget :-)
Avatar billede caledonia Nybegynder
24. november 1999 - 20:27 #8
Jeg programerer også i C/AL, hvis det da er financials vi snakker om.

Anyhoo, virker det i W2000 siger du?
Avatar billede pdj Novice
24. november 1999 - 20:35 #9
Hmm, verden er lille :-)

Når jeg springer helt over command.com virker det fint i Win98, Hmmmm, så kan det jo faktisk ikke virke i Win2000 :-(

(Har desværre ikke mulighed for at teste før i morgen)

Som du sikkert kan regne kan jeg ikke bruge HYPERLINK('pic.bmp') da den altid fortsætter. Næste mulighed er at bruge SHELL(??), så det er den jeg giver mine kommandoer.

Kan jeg ikke løse det via Automation?? Der må være et eller andet standard som kan gøre tricket??
Avatar billede caledonia Nybegynder
24. november 1999 - 20:47 #10
Prøv evt. med CMD eller EXPLORER.

Ellers tilbage til andet spørgsmål ang. automation, så er svaret ja, det lader sig gøre. Men det kræver udvikling af et component der så skal sende med fob'en.

Derudover er det ikke "helt let". Du skal ned og fange kernel hvis du laver det i VB.

Jeg har forøvrigt lavet en auto component updater til financials der automatisk dist. componentet på alle clienter.
Avatar billede pdj Novice
24. november 1999 - 20:54 #11
Hvad mener du med "prøv CMD eller EXPLORER"?

Jeg kender MEGET lidt til VB, men er det virkeligt et problem at lave det der?? (Det er jeg RET overrasket over)

Mht. component update, så bliver det problem forhåbentlig en saga blot når/hvis alle bruger Win2000... (Men indtil da, er det rigtigt at det kan være en pestilens..)
Avatar billede caledonia Nybegynder
24. november 1999 - 20:58 #12
Win2000 laver da ikke meget om på det problem ? Det skal stadig regges på clienten, og fin er så _dum_ at den kun kikker på componentets UID.

Det lader sig gøre fra VB med 30-50 linier. VB gør nemlig det samme som din, altså kalder og ikke venter.
Avatar billede pdj Novice
24. november 1999 - 21:16 #13
Mht. Win2000
Jeg havde forstået det sådan, at man centralt kunne distrubuerer OCX'er og andre componenter fra centralt sted, og de så automatisk blev registreret på klienterne. Kan man ikke det?

Mht. VB
Surt.

Er jeg naiv, eller burde det ikke være et simpelt problem?
Avatar billede caledonia Nybegynder
24. november 1999 - 21:23 #14
Muligt.. Har dog ikke stødt på det. Det må ikke forveksles med DCOM, men det kan være det er lagt ind i SMS.

Nogle gange er det der virker simpelt ikke helt let. Ihvertfald er dette et område hvor der er stor forskel pr. OS.
Avatar billede pdj Novice
24. november 1999 - 21:26 #15
Ja, specielt surt hvis ikke engang man kan løse problemet ens i Win9x og Win2000/NT... Det kan altså ikke være rigtigt...

PS: Jeg vil til at hjem efter...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester