AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Dateien bei laufendem Programm in Liste einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien bei laufendem Programm in Liste einfügen

Ein Thema von Cylence · begonnen am 13. Jun 2006 · letzter Beitrag vom 19. Jun 2006
Antwort Antwort
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#1

Dateien bei laufendem Programm in Liste einfügen

  Alt 13. Jun 2006, 14:44
Hi,

ich habe die Dateiendung mp3 mit einem von mir programmiertem Player verknüpft, wenn der Player nicht läuft, ist das auch kein problem, doppelklick auf die datei, und schon startet mein Player mit dem angeklicktem Lied, ich checke beim Oncreate ob Paramstr mehr als 0 ist, und wenn ja, dann füge ich diese meiner Playliste hinzu...

Delphi-Quellcode:
 If (ParamCount>0) and
    (FileExists(ParamStr(1))) then begin
    Loaded1 := False;
      While Loaded1 = False do begin
        if Paramstr(XYZ) = 'then begin
           Loaded1 := True; //Dateien beim Klick in Explorer hinzufügen
        end
        else begin
           LoadedFiles.Add(ParamStr(XYZ));
           XYZ := XYZ +1;
        end;
      end;
das funtioniert ohne Probleme...

aber wenn das Programm schon läuft, wie mach ich das dann? Da das Programm dann ja schon läuft, wird nur nochmals das Programm gestartet und sofort wieder geschlossen, weil ich nicht möchte, das das Programm 2 mal gestartet werden kann...
--------------------------------
so hab ich das gemacht:
Delphi-Quellcode:
unit not2times;

interface

implementation

uses windows,Dialogs,sysutils;

var mHandle: THandle;

Initialization
  mHandle := CreateMutex(nil,True,'SidebarXPV');
  if GetLastError = ERROR_ALREADY_EXISTS then begin
    {showMessage('Anwendung läuft bereits!!!!!');}
    Halt;
  end;

finalization
  if mHandle <> 0 then
    CloseHandle(mHandle)
end.
-----------------------------------

also wie kann man realisieren, das bei laufendem Programm angeklickte Lieder im Explorer zur Playliste hinzugefügt werden??? Wär echt super wenn mir jemand helfen könnte, selbst mein Chef hat keine Ahnung wie man das macht... und ich bin Lehrling...

Hope to hear from U

Danke schonmal im Vorraus!!!!!

tom

wer sich meinen Player...oder eher ne Sidebar mit Player anschaun will... es gibt hier schon die BETA Version:

http://mitglied.lycos.de/cylence666/...ncesidebar.exe

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]
Tom
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dateien bei laufendem Programm in Liste einfügen

  Alt 13. Jun 2006, 14:52
du musst von dem neu gestarten Programm das bereits laufende benachrichtigen. So kannst du zum Beispile mit wm_copydata informationen an ein anderes Fenster schicken (beispiele dazu gibts genug per suche)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#3

Re: Dateien bei laufendem Programm in Liste einfügen

  Alt 13. Jun 2006, 14:53
Reichlich antik, aber könnte Ideen liefern:
http://www.michael-puff.de/Developer...co/oneinst.zip
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#4

Re: Dateien bei laufendem Programm in Liste einfügen

  Alt 13. Jun 2006, 14:53
Such mal nach "Doppelstart verhindern" und/oder "Doppelstart verhindern mit Parameterübergabe" (oder so ähnlich).


Du mußt einfach nur prüfen, ob dein Programm schon läuft und wenn dem so ist, schickst du ihm einenNachricht mit den Dateinamen und beendest das (neue) Programm wieder.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Dateien bei laufendem Programm in Liste einfügen

  Alt 13. Jun 2006, 15:11
Hi,

wow mächtig schnell seid Ihr!!! Danke euch echt!!!

ich denke mit dem wm_copydata könnte das wohl klappen. Allerdings wusste ich noch nicht das es sowas überhaupt gibt.. naja die Erfahrung fehlt halt noch..... *g* Aber hört sich logisch an für mich

ich muss also von der Unit die Überprüft ob das Ding schon läuft, einfach auch die parameter auslesen, und dann als Message quasi an die bereits laufende Instanz senden, und diese muss dann darauf reagieren und die Parameter nach Musik oder Videofiles durch checken und dann in die Playliste hinzufügen...ok gut aber wie? Hat einer ein Code Beispiel oder so? Ich hab leider kein Internet daheim, aber schaff dauernd daheim, bin nur beim Arbeiten online... Und ich weiß im moment nicht, wie ich dann darauf reagiere im laufendem Programm, muss ich einen Timer einbauen, der dauernd schaut ob was gesendet wurde, oder wie? So ähnlich wie WM_Query_endsession denk ich mal?? Ausserdem...sendet er das dann nicht an sich slebst??? Weil das handle, an das ich dann senden will, heisst ja genauso wie das laufende, das wieder geschlossen werden soll.....

Aber so oder so DANKE ICH EUCH!!!!!!!!!!!!!!!! Echt perfekt!!

tom
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Dateien bei laufendem Programm in Liste einfügen

  Alt 19. Jun 2006, 09:46
Hi,

also so ganz klappts noch nich, ich hab das nun so gmeacht, mit der Komponente OneInstance und bei Onshow dies:

XYZ := 0;
If (ParamCount>0) and
(FileExists(ParamStr(1))) then begin
While XYZ < (ParamCount -1) do begin
LoadedFiles.Add(ParamStr(XYZ));
XYZ := XYZ +1;
Loaded1 := True;
end;
end;

if Loaded1 = True then begin
Form8.JvPlayList1.AddItems(LoadedFiles); //wenn Programm mit Parametern gestartet wurde...
end;


da startet dann das Prog zwar, aber übernimmt keinen der Paramstr in die Playliste...

und bei OneInstance habe ich ONSwitch dies eingebaut:



procedure TForm1.OneInstance1Switch(Parameters: TStrings);
begin
Form8.JvPlaylist1.AddItems(Parameters);
end;

und das sollte doch eigentlich auch stimmen, oder nicht???

Hoe to hear from you!!

Thanx

tom
Tom
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz