![]() |
Re: Öffnen mit...
bzw. für mehrere Dateien:
Delphi-Quellcode:
Frank
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, AppEvnts; type TFRMMain = class(TForm) ApplicationEvents1: TApplicationEvents; procedure doAppIdle(Sender: TObject; var Done: Boolean); private procedure OpenRTFFile(const AFileName: String); { Private-Deklarationen } public procedure AfterConstruction; override; { Public-Deklarationen } end; var FRMMain: TFRMMain; implementation uses FRMText; {$R *.dfm} procedure TFRMMain.AfterConstruction; begin inherited; Application.OnIdle := doAppIdle; end; procedure TFRMMain.OpenRTFFile(const AFileName: String); Var f : TTextForm; begin f := TTextForm.Create(Self); f.Editor.Lines.LoadFromFile(AFileName); f.Show; end; procedure TFRMMain.doAppIdle(Sender: TObject; var Done: Boolean); Var i : Integer; begin Application.OnIdle := nil; for i := 1 to ParamCount do if FileExists(ParamStr(i)) then if UpperCase(ExtractFileExt(ParamStr(i))) = '.RTF' then OpenRTFFile(ParamStr(i)); end; end. |
Re: Öffnen mit...
ES KLAPPT :hello:
Jetzt muss ich nur noch das Problem beheben das die Datei so ca. 475 mal geöffnet wird und gut! |
Re: Öffnen mit...
du hast auch ganz sicher das
Application.OnIdle := nil; in der Methode doAppIdle stehen??? Frank |
Re: Öffnen mit...
Ja hab' ich. Was kommt den da hin. Ich habe mich mit den ParamStr noch nie befasst.
|
Re: Öffnen mit...
Also, wenn du das mit den 400 mal Öffnen der Datei nicht findest, poste mal deinen Code.
Das darf ... kann eigentlich nicht sein. Die Funktion ParamStr(Index): String; liefert dir die an deine Exe übergebenen Parameter. Wenn also der Aufruf etwa so erfolgt: MyRTFEditor Hallo Ballo ...liefert ParamStr(1) Hallo und ParamStr(2) Ballo. ParamCount ist 2. ParamStr(0) ist immer der Exename mit komplettem Pfad bei WindowsApps. Ich nutze das Ereignis OnIdle der Applikation als Startzeitpunkt, weil hier mit Sicherheit das MainForm komplett gezeichet ist. Ein besserer Zeitpunkt fällt mir nicht ein. Damit nur einmal das Öffnen der TextForms erfolgt, setze ich in der Methode den Zeiger von Application.OnIdle wieder auf nil (damit eben nicht die Datei 400 mal aufgemacht wird). Wie gesagt, ich kann mir nicht vorstellen, dass es nicht funzt. Gruß, Frank |
Re: Öffnen mit...
@ dataspider: hab die den Code als pn gepostet.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz