22. februar 2002 - 16:30Der er
5 kommentarer og 2 løsninger
Kun 1 program ad gangen.
Hej,
Jeg har lavet et program som har associeret nogle filtyper, og det vil sige at når man dobbeltklikker på denne filtype åbner mit program med filnavnet som parameter...
Mit problem er så at hvis mit program allerede kører i forvejen, så starter der jo et nyt program med den nye fil...
Jeg ville jo gerne have at hvis programmet allerede var startet skulle den bare åbne den nye fil i det allerede åbnede program.
Jeg har bare ikke lige en idé til hvordan man skulle gøre...
Nok noget med at finde ud af om det kører i forvejen og hvis det gør, få fat i handle og sende en user_message med et filnavn som parameter, findwindow() er der en api der hedder som du kan/skal bruge, sikkert flere...
var fAtom : TAtom; procedure TfrmMain.FormCreate(Sender: TObject); begin { Searchs table to see if the program is already running } if GlobalFindAtom('PROGRAM_RUNNING') = 0 then { If not found then add it } fAtom := GlobalAddAtom('PROGRAM_RUNNING') else begin { If program is already running the show message and halt } MessageDlg('There is already an instance of this program running.',mtWarning, [mbOK], 0); Halt; end; end;
procedure TfrmMain.FormDestroy(Sender: TObject); begin GlobalDeleteAtom(fAtom); end;
zerohero>>Jeps, det er lige sådan noget jeg kan bruge...tak!
martinlind>>Findwindow vil enten have class-name eller Window-name. Men hvad er Class-name og hvordan definerer man at mit program har et classname ? Desuden...hvordan laver man sine egne Messages som man kan sende ?
Jeg mener at kune huske at det er dit prg-navn du skal bruge, ved en test ville det være project1 eller også mainformens navn prøv lige project1 først.
okay, jeg slog op i hjælpen (En god ting :)) og fandt ud af at hvis man satte sådan et atom-ting med GlobalAddAtom så kunne man som class-name i findwindow skrive det samme som man skrev med GlobalAddAtom.
Tak for hjælpen
/SpEeDy
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.