Seite 1 von 1

Datei auf ProgrammSymbol ziehen.?

Verfasst: 01.02.2012 20:27
von hilpert
Hallo,
Mit DragDrop Datei in ein bereits geöffnetes ProgrammFenster
kann man den Datei-Namen bekanntlich schnell ermitteln.
Jedoch :
möchte ich eine Datei auf das (von mir geschr.) ProgramSymbol ziehen;
dann soll das Programm laufen;
dann soll im geöffneten ProgrammFenster die zuvor dragdrop'ed Datei-Name
ermittelt werden.!
Weiß jemand wie das unter MacOs zu machen ist mit PB.?

Code: Alles auswählen

 ; how to get here FileName when DragDrop File onto this Program-Symbol
WINID=OpenWindow(0,72,100,300,200,"GetFileName")
If WINID=0:MessageRequester("","Cannot OpenWindow"):End:EndIf
quit=0
Repeat
  event=WaitWindowEvent()
  If event=#PB_Event_CloseWindow:quit=1:EndIf
 Until quit=1
End
__________________________________________________
Code-Tags hinzugefügt
01.02.2012
RSBasic

Re: Datei auf ProgrammSymbol ziehen.?

Verfasst: 01.02.2012 20:52
von Kiffi
Hallo hilpert,

das müsste auch unter OSX mittels ProgramParameter() zu ermitteln sein.

Grüße ... Kiffi

Re: Datei auf ProgrammSymbol ziehen.?

Verfasst: 01.02.2012 22:13
von freak

Re: Datei auf ProgrammSymbol ziehen.?

Verfasst: 01.02.2012 23:34
von Kiffi
@freak: Dann wäre ProgramParameter() also ein Kandidat
für die List of Platform-dependent Functions?

Grüße ... Kiffi

Re: Datei auf ProgrammSymbol ziehen.?

Verfasst: 01.02.2012 23:56
von freak
Nein, die Funktion tut was sie soll. Beim Starten eines Programmes von der GUI übergibt OSX nur keine Parameter das ist alles.

Re: Datei auf ProgrammSymbol ziehen.?

Verfasst: 02.02.2012 00:08
von Kiffi
freak hat geschrieben:Nein, die Funktion tut was sie soll. Beim Starten eines Programmes von der GUI übergibt OSX nur keine Parameter das ist alles.
ich unterstelle ja nicht, dass die Funktion fehlerhaft ist. Sie würde
lediglich das erwartete Ergebnis nicht liefern und somit in die selbe
Kategorie wie "SetToolBarButtonState (Ignored on MacOS)" fallen.

Ich kenne mich mit den anderen OS nicht besonders gut aus und finde
deshalb, dass die Liste eine gute Hilfestellung ist, um den ein oder
anderen Hinweis zu geben.

Grüße ... Kiffi

Re: Datei auf ProgrammSymbol ziehen.?

Verfasst: 02.02.2012 20:38
von freak
Wenn man das Program per RunProgram() oder per Konsole startet werden die hier angegebenen Parameter von ProgramParameter() zurück gegeben, so wie auf allen OS. Hier stimmt das Verhalten überein.

Nur der Finder von OSX benutzt keine Parameter sondern Events um die Datei zu übergeben. Das lässt sich unter Windows IIRC auch bewerkstelligen wenn man das will. Das kann man der ProgramParameter() Funktion ja nicht vorwerfen das es keine Parameter zu lesen gibt ;)

Re: Datei auf ProgrammSymbol ziehen.?

Verfasst: 02.02.2012 21:12
von Kiffi
@freak: Alles klar. Ich hatte das so verstanden, dass
ProgramParameter() überhaupt keinen Wert liefert.

Danke für die Erklärung!

Grüße ... Kiffi

Re: Datei auf ProgrammSymbol ziehen.?

Verfasst: 03.02.2012 20:15
von hilpert
hallo,
Vielen Dank für die nützlichen eingegangenen Infos.
Das Beispiel aus dem engl.Forum funktioniert bestens,
obwohl ich da die Einzelheiten wenig verstehe, da kein Profi.
Die folgende info-Zeile
; ProcedureCDLL is important, for the right calling convention (on x86)
scheint deswegen interessant,
weil ich hier nicht einen Intel-basierten x86 sondern einen PPC fahre,
mit MacOs X.10.4.11 und PB 4.51
Daher würde mich interessieren, ob das genannte Beispiel
Carbon- oder Cocoa-orientiert ist,
und ob es auch funktioniert auf den neuen MacOs X.10.7 mit PB 4.60