OVH Cloud OVH Cloud

[RubyCocoa]OSX::NSAppleEventDescriptor.data

2 réponses
Avatar
pere.noel
bon je continue aver get URL.
la méthode :
handleGetURLEvent_withReplyEvent(event, replyEvent)

retourne un event de class "OSX::NSAppleEventDescriptor"
ayant regardé stringValue, qui est à ""

j'examine .data qui me donne, si j'entre dans l'URL :
bmkm:0000000000

ça me sort :
<646c6532 00000000 61657674 00000138 00000000 00000000 [...]
626d6b6d 3a303030 30303030 30303000 >
___________^^^^^^^^^^^^^^^^^^^^^^^__
soit mes 10 zéro en hex
si je passe à dix un j'ai dix fois 31 en bout de chaine excepté le 00
final qui d'après l'ASCII Table est NUL.

la chaine fait en tout 656 hex char mais curieusement HexEdit ne voit
pas ça comme de l'us asccii codé en hexa (???) puisqu'à la fin, là où
j'ai dix zéro de suite (en ascii-hexa) il me donne dix fois 33 30 càd
dix fois "30".

comme Apple ne commente pas beaucoup, le format...

ils disent juste, je cite :
- (void)handleGetURLEvent:(NSAppleEventDescriptor *)event
withReplyEvent:(NSAppleEventDescriptor *)replyEvent

{

// Extract the URL from the Apple event and handle it here.

}

ce qui est quand même un peu "mince"...
--
une bévue

2 réponses

Avatar
luc
Une bévue wrote:

comme Apple ne commente pas beaucoup, le format...


Parceque tu n'es pas vraiment censé y toucher directement. Il faut
utiliser les accesseurs de base:

# keyDirectObject est une constante de l'AE manager, je ne sais pas
# si elle est définie qqpart dans RubyCocoa, donc on la recrée
# manuellement:
keyDirectObject = "----".unpack('L').first

# Extraction du paramètre direct:
url = event.paramDescriptorForKeyword(directObjectKey).stringValue


(pas testé, mais l'essentiel y est).

--
Luc Heinrich

Avatar
pere.noel
Luc Heinrich wrote:

pas testé, mais l'essentiel y est).


Résultat :

"url = bmkm:merci%20Luc%20;-)"

c'est donc OK, yapuka ;-)

euh tjs Jonathan Paisleu conseille d'utiliser le format N pour unpack
plutot que L : compatibilité avec Intel (c'est une histoire de pots
rouges ;-))
--
une bévue