2010-02-11 5 views
1

J'ai déjà construit une application flash 10 flex qui utilise la fonctionnalité p2p (j'utilise une clé de développeur pour se connecter à stratus), actuellement tout fonctionne bien. Maintenant, je veux que mon application fonctionne sur Adoble Air Runtime, mais il semble que p2p ne fonctionne pas pour Air.L'application Adobe Air peut-elle utiliser p2p?

Je peux me connecter avec succès au serveur stratus dans l'application Air, mais après cela, lorsque j'essaie d'utiliser NetConnection.nearID, une erreur se produit disant: "ReferenceError: Erreur # 1069: Propriété nearID introuvable sur flash.net. NetConnection et il n'y a pas de valeur par défaut. "

J'ai essayé flex sdk 3.2 et 3.4, et aucun d'entre eux ne fonctionne. Est-ce que quelqu'un a déjà développé une application aérienne qui utilise p2p et peut fournir quelques conseils? Merci pour l'aide ~

Répondre

1

Le problème est maintenant résolu, le constructeur flexible n'est pas intelligent du tout, vous devez faire des changements manuellement après avoir choisi une nouvelle version du SDK. Les 2 fichiers suivants doivent être modifiés:

1. fichier descripteur, utilisez xmlns = "http://ns.adobe.com/air/application/1.5.3"

2.Le .actionScriptProperties fichier dans le chemin du projet, utilisez htmlPlayerVersion = « 10.0.0 »

pour plus de détails se référer à http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7ff1.html pour les applications SWF, la version d'exécution AIR spécifiée dans le descripteur d'application détermine la version SWF maximale qui peut être chargé en tant que contenu initial de l'application. Les applications qui spécifient AIR 1.0 ou AIR 1.1 ne peuvent utiliser que des fichiers SWF9 (Flash Player 9) en tant que contenu initial, même si elles sont exécutées à l'aide du moteur d'exécution AIR 1.5. Les applications qui spécifient AIR 1.5 ou une version supérieure peuvent utiliser des fichiers SWF9 ou SWF10 (Flash Player 10) comme contenu initial. La version SWF détermine quelle version des API AIR et Flash Player sont disponibles. Si un fichier SWF9 est utilisé comme contenu initial d'une application AIR 1.5, cette application n'aura accès qu'aux API AIR 1.1 et Flash Player 9. En outre, les modifications de comportement apportées aux API existantes dans AIR 1.5 ou Flash Player 10 ne seront pas efficaces.

1

J'ai le même problème. Je dirai que je ne fais que l'expérimenter sur Linux. Si je prends le même code et que je compile sur Windows, ça fonctionne très bien.

En fait, je peux produire une version release à partir de Windows, la déplacer vers Linux, et nearID est disponible. Je peux produire une version build sous Linux, l'exporter vers Windows et obtenir le même problème nearID not found. Donc, je suis convaincu que c'est un problème de temps de construction. La recherche montre que cette même erreur se produit si vous compilez sur Flash 9 pour une application Flex régulière. Je ne peux pas imaginer que c'est le problème ici. FWIW, j'ai essayé SDK 3.3, 3.4, 3.5. J'ai également essayé Air SDK 1.5, 2.0b1 et 2.0b2. Je reçois le problème avec toutes les combinaisons.

Quel environnement utilisez-vous pour créer votre application? J'espère que ce n'est pas Linux, car Adobe a quasiment abandonné Flex Builder pour Linux.

+0

Merci pour la réponse, je soupçonne aussi que c'est peut-être un problème lié au compilateur. J'utilise Flex Builder 3 sous Windows, et la situation est que, pour le même morceau de code, la version flash fonctionne mais la version air échoue. À l'exception de la différence de système d'exploitation, y a-t-il une autre différence entre votre environnement Windows et Linux qui pourrait causer ce problème? – Jell

+0

J'ai été déchirer mon environnement pendant plus d'une semaine en essayant de comprendre la même chose. J'ai aussi une deuxième machine avec Linux, et les deux ont le même problème. Je vous ferai savoir si je le découvre. – Dan

+0

Oui, votre réponse à propos de htmlPlayerVersion l'a en effet corrigé pour moi.Merci beaucoup, c'était vraiment tuer mes progrès sur mon projet. – Dan