Datei auf ProgrammSymbol ziehen.?

MAC OSX spezifisches Forum
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
hilpert
Beiträge: 14
Registriert: 01.12.2004 12:15

Datei auf ProgrammSymbol ziehen.?

Beitrag 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
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Datei auf ProgrammSymbol ziehen.?

Beitrag von Kiffi »

Hallo hilpert,

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

Grüße ... Kiffi
Hygge
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Re: Datei auf ProgrammSymbol ziehen.?

Beitrag von freak »

Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Datei auf ProgrammSymbol ziehen.?

Beitrag von Kiffi »

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

Grüße ... Kiffi
Hygge
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Re: Datei auf ProgrammSymbol ziehen.?

Beitrag von freak »

Nein, die Funktion tut was sie soll. Beim Starten eines Programmes von der GUI übergibt OSX nur keine Parameter das ist alles.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Datei auf ProgrammSymbol ziehen.?

Beitrag 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
Hygge
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Re: Datei auf ProgrammSymbol ziehen.?

Beitrag 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 ;)
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Datei auf ProgrammSymbol ziehen.?

Beitrag 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
Hygge
hilpert
Beiträge: 14
Registriert: 01.12.2004 12:15

Re: Datei auf ProgrammSymbol ziehen.?

Beitrag 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
Antworten