AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Parameter SCHNELL an Hauptprog weiterleiten
Thema durchsuchen
Ansicht
Themen-Optionen

Parameter SCHNELL an Hauptprog weiterleiten

Ein Thema von Nogge · begonnen am 11. Dez 2004 · letzter Beitrag vom 30. Okt 2005
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#1

Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 00:12
Hallo Community,
ich habe mir einen player geschrieben, der aufgerufene mp3s per sendmessage und wm_copydata empfängt. danach schließen sich die weiteren programme, welche dadurch geöffnet wurden durch zB "halt" oder "application.terminate", sodass schließlich nur wieder mein hauptprogramm läuft. komme ich nun zu meinem problem:
wenn ich viele mp3s im explorer markiere und diese hinzufügen möchte, fragt mich windows erst einmal, ob ich diesen vorgang ausführen möchte, da er möglicherweise zu einer hohen auslastung führen könnte (hab ja zB mind. 40 dateien gleichzeitig geöffnet). drücke dann immer auf ok und meinem player werden die dateien hinzugefügt. allerdings brauch dieser vorgang relativ lange (was bei zB winamp nicht der fall ist, wenn man viele dateien gleichzeitig hinzufügen möchte). durch das ständige öffnen, senden und schließen pro parameterübergabe ändert sich auch ständig der cursor (pfeil, sanduhr, pfeil usw.) bis alle dateien hinzugefügt wurden.
kann ich diesen prozess beschleunigen?

cya
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 00:29
Moin Nogge,

an welcher Stelle prüfst Du denn, ob schon eine Instanz Deines Programmes läuft?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#3

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 00:39
Schau dir mal die Komponenten TDDeSeverConv und TDDeServerItem an, damit geht das sehr schön und ohne ein Programm aufzurufen!
http://www.delphihowtos.de/howto/howto3.html
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#4

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 02:38
DDE wäre dafür die schlechteste Idee.
Zum einen ist es eine veraltete Technik, die man (ich) auch nur noch aus Kompatibilitätsgründen zu anderen Programmen benötigt.
DDE gibt es unter .NET schon gar nicht mehr.
Zudem wird der Nachrichten Austausch in DDE durch TEXT STRINGS !! realisiert.
Mit Schnelligkeit hat das nix zu tun ..
Guck Dir da eher mal die Socketkomponenten an, wenn Du Daten austauschen möchtest.
TCP/IP
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 09:11
das ganze dauert soo lange weil du vermutlich erst im OnCreate des Haupformulars prüfst ob dein Programm schon offen ist. Wenn du das ganze schon in der Projektdatei prüfst bevor irgend eine Instanz eines Forms erzeugt wurde geht das ganze wesentlich schneller (und so machts winamp auch, da werden nicht erst alle module geladen wenn am ende das prog doch abgeschossen wird). Also einfach bevor irgendwas in der Projectdatei ausgeführt wird prüfen ob das prog schon läuft und dann gleich von der stelle aus die parameter weiterreichen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#6

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 10:56
@stoxx ich weiß nicht, ob wir gerade aneinander vorbeireden...TCP/IP hat mit meinem problem glaube ich mal nichts zu tun. ich möchte ja nichts über ein netzwerk austauschen, sondern lediglich meine mp3s in meine playlist hinzufügen. wenn es trotzdem damit gehen soll, kannste ja vllt mal ein beispiel-sourcecode oder einen link posten.

ich prüfe bereits in der projektdatei, ob mein hauptprogramm läuft und gebe dort auch die parameter weiter, d.h. NICHT in OnCreate ;-) die form wird bei einer parameterübergabe gar nicht erst erstellt.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 14:26
Moin Nogge,

dann ist es wohl ganz sinnvoll mal den Abschnitt zu posten.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#8

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 14:36
hi Nogge,

kann dem stoxx da nur zustimmen.

Habe mit DDE nur die Erfahrungen "langsam & unzuverlässig" gemacht.

TCP/IP kannst du sehr wohl auch ohne Netzwerk nutzen. Damit kannst mit Sockets wunderbar Daten zwischen Programmen auf 1 Rechner austauschen.
Mußt aber dran denken, daß TCP/IP überhaupt installiert ist, was hier und da mal net sein muß.

Roderich
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#9

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 15:19
Hi Nogge,

TCP/IP geht natürlich, wie Roderich sagte, auch auf ein und demselben Rechner.
Es gibt aber auch noch eine dritte Möglichkeit, über MMF ..
Man nimmt dazu ein von zwei Programmen gleichzeitig genutzten Speicherbereich.

Ein Beispiel dafür, hatte ich schonmal vor langer Zeit hier ins Board gestellt ..

siehe hier. ( 6 letzter Beitrag von unten)


http://www.delphipraxis.net/internal...ighlight=daten

viele Grüße
stoxx
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#10

Re: Parameter SCHNELL an Hauptprog weiterleiten

  Alt 11. Dez 2004, 18:18
da C.Seehase meinen sourcecode mal sehen wollte, hier:
Delphi-Quellcode:
var MainApp:HWND; MyCopyDataStruct:TCopyDataStruct;

begin
  if FindWindow(nil,Main_ID)<>0 then begin
    MainApp:=FindWindow(nil,Main_ID);
    if ParamCount>0 then begin
      with MyCopyDataStruct do begin
        dwData:=MY_SENTPARAM;
        cbData:=Length(PChar(ParamStr(1)))+1;
        lpData:=PChar(ParamStr(1));
      end;
    end else begin
      with MyCopyDataStruct do begin
        dwData:=MY_SHOWAPP;
        cbData:=0;
        lpData:=nil;
      end;
    end;
    SendMessage(MainApp,WM_COPYDATA,0,Longint(@MyCopyDataStruct));
    //Application.Terminate;
  end else begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
  end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


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 12:58 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