pomiń operacje obrysowywania a funkcja trace()

Nie działa. Nie działa! trace(”dupa”). Debug chodzi, kod jest OK, ale trace() nie działa. Czemu? Ano temu, że w ustawieniach publikowania zaznaczyłem lekkomyślnie checkbox “pomiń operacje obrysowywania”. Co to są operacje obrysowywania? Nie wiem, ale nie potrzebowałem ich, więc głupi wyłączyłem. Szkoda tylko, że pod tym zagadkowym napisem kryje się angielskie “omit trace actions” (cytuję z głowy). Ktoś sprawdzał te tłumaczenia? :)) W każdym razie - aby trace() działało, opcja musi być wyłączona. Nie chcę myśleć, dlaczego przetłumaczone na polski wersje programów Adobe są aż tyle droższe od amerykańskich.

aaaby zainstalować komponent Google Maps we Flashu CS3

No nie umiałem i już. Kopiowałem plik SWC tu i tam, wg rozmaitych wskazówek na mądrych forach i nic. Tuzin razy restartowałem Flasha. Wreszcie przeczytałem, że ktoś zmontował MXP, czyli plik obsługiwany przez Extension Managera - i włala! A oto link: (kliknąć prawym, Zapisz jako, potem uruchomić z dysku)

plik instalacyjny z Google Maps do Extension Managera

aha - wyczytałem to tu: http://groups.google.com/group/google-maps-api-for-flash/

set selectedItem w ComboBox Flexa

Kiedy z bazy danych pobieramy hm, dane, a któraś z kolumn przybiera wartości z pewnego niewielkiego zbioru (jak np. dla typu ENUM w MySQL), to w formularzu edycji rekordu chcielibyśmy zwykle użyć komponentu ComboBox do edycji tej kolumny. Problem polega na tym, że ComboBox nie ma prostej metody do ustawiania zadanej wartości. Można owszem ustawić selectedItem, ale tylko przekazując jeden z obiektów z dataProvidera Combo. Nie taki sam obiekt, ale ten sam. Tyle że wygodniej jest przekazać wartość, np. pobraną ze wspomnianej bazy. No i niech etykieta (label) Combo ustawi się sama. Oto rozszerzenie ComboBoksa, które robi co trzeba:

<?xml version="1.0" encoding="utf-8"?>
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml">
    <!--
    komponent SmartComboBox z automatycznym ustawianiem selectedIndex
    na podaną wartość
    licencja: do swobodnego wykorzystania
    -->
    <mx:Script>
        <![CDATA[
            protected var _myDP:Object;
            [Bindable]
            public function set value(v:*):void
            {
                var found:Boolean = false;
                for(var i:int = 0; (i < dataProvider.length) && !found; i++) {
                    if(v == _myDP[i].data) {
                        selectedIndex = i;
                        found = true;
                    }
                }
                if(!found) throw(new Error("invalid value " + v + " for SmartComboBox.",99));
            }
            [Bindable]
            override public function set dataProvider(v:Object):void
            {
                _myDP = v;
                super.dataProvider = v;
            }
        ]]>
    </mx:Script>
</mx:ComboBox>

Next Page »