• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    VIRTUALVOID
    VIRTUALVOID --- ---
    DARKREIDER:
    TENCOKACISTROMY: jo... tl;dr "compiler as a service" to volaju
    NECROMAN
    NECROMAN --- ---
    Zaludna otazka - napada vas zpusob, jak jen pomoci managed kodu v C#, zadne Win32 API a pod, sestrelit operacni system do BSOD? :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    DARKREIDER: Napriklad s tim budes moct udelat makrovaci funkionalitu jako je VBA v MS Office.
    DARKREIDER
    DARKREIDER --- ---
    JACHYMKO:
    TENCOKACISTROMY: Na rozsirenie mojich obzorov: Ake to bude mat vyuzitie v reale?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO, JACHYMKO: To vypada moc pekne. Musim nekde najit cas, abych si s tim pohral.
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: ok, nazev matody je matouci... spise by mel byt Sync
    jde spise o to, aby po zavolani InitCameraSync uz byl probehly onen init a ne ze "az to nekdy dobehne, tak se to zavola"

    Tuto metodu potom budu volat v
    CameraOperationCompletedEventArgs result = await TaskEx.Run(() => InitCameraSync(cam));
    ... a krasne tak ziskam virtualni synchonnii :)
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: tak idealni to asi neni, ale usnadnuje to v tomto pripade inicializaci. Opravdu nemam rad, kdyz musim mit dve metody, kde v druhe cekam na eventu, ktera se spustila v prvni a ta mezitim skoncila. take kdyz v te druhe jeste musim volat dispatchera pro aplikovani vysledku na UI vlakne. Takhle je to vse na jednom miste, byt to trochu pripomina JavaScriptove closures :)
    K0TEL
    K0TEL --- ---
    Poradil by mi nekdo prosim nejakej peknej free textovej editor. Takovej ten kde si uzivatel muze sam na webove strance editovat text (barvy, font, atd) a hlavne aby umel i tabulky. Dik moc
    GOSHEWAN
    GOSHEWAN --- ---
    JACHYMKO: Nejak podobne to pouzivam na jednom miste take. Co presne je na tom spatne (mimo ten dispose)? Pripadne jak jinak bys to udelal?

    Ja potreboval resit synchronni volani asynchronni metody. Asynchronni, protoze zavolala web service na serveru, ktery pak zavolal jinou web service zpet u me a ten vysledek se musel vratit prvnimu volajicimu (ktery volal synchronne).
    NECROMAN
    NECROMAN --- ---
    Vymyslel jsem včera zajímavý pattern, jak převést asynchronní čekaní na event handler do synchronního vykonání v jendom vlákně pomocí AutoResetEvent - ideální pro použití v Async CTP API :)
    private static CameraOperationCompletedEventArgs InitCameraAsync(PhotoCamera cam)
    {
        // blocking primitive
        AutoResetEvent autoEvent = new AutoResetEvent(false);
        CameraOperationCompletedEventArgs result = null;
        EventHandler<CameraOperationCompletedEventArgs> callback = (sender, e) =>
        {
            // store the result
            result = e;
            // unblock parent thread
            autoEvent.Set();
        };
    
        // event handler
        cam.Initialized += callback;
    
        // this causes camera init
        dummyBrush.SetSource(cam);
        // wait until async event finish
        autoEvent.WaitOne();
        // remove event handler
        cam.Initialized -= callback;
        return result;
    }
    MORMEGIL
    MORMEGIL --- ---
    NECROMAN: V tom novém Windowsím API se bez toho člověk už neobejde…
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Jeste jsem to nezkousel. Ale tesim se na to.
    NECROMAN
    NECROMAN --- ---
    zkouseli jste uz nekdo pouzivat nove rozsireni pro asynchronni vypocty 'async' a 'await'? Ted si ctu ruzne tutorialy a vypada to sikovne,
    moznost mit namisto metody s callbackem
    ...
    Runner.Completed += HandleCompleted;
    Runner.DoLongJob();
    }
    
    private void Completed(Result e)
    {
    var result = e;
    ...
    jen jeden radek
    var result = await Runner.DoLongJob();
    SAJAGI
    SAJAGI --- ---
    _K5_: http://spoon.net/Studio/

    Ale jsou s tím problémy na Windows 7 a pre8 :/
    PIGSTER
    PIGSTER --- ---
    _K5_: No .NET aplikace potrebuje .NET. Pri instalaci se vybiraj komponenty, tam si vyber ze chces C/C++ a kdyz vytvaris projekt tak si vyber "Win32/Win32 Project" pro normalni Win32 aplikaci nebo "MFC/MFC Application" pro MFC - nicmene tenhle klub je havne o .NETu a pridruzenejch technologiich - vhodnejsi klub na tyhle "low level" zalezitosti je tady [ Win32 API a MFC aneb "jak se xakru udela todle..." ]
    _K5_
    _K5_ --- ---
    PIGSTER: používat .NET nechci, ale nepřišel jsem na to jak, když i nejzákladnější komponenta Form potřebuje .NET knihovnu System.Windows.Forms nebo tak nějak. S VS jsem v životě nepracoval, tudíž netuším, jak tam co funguje a co dělám špatně.
    PIGSTER
    PIGSTER --- ---
    _K5_: v PE je idealni pouzivat C nebo C++ a standardni Win32 API - pripadne MFC (to by tam byt melo, ale da se celkem snadno nest s sebou). Pokud clovek chce pouzivat .NET tak konecne proc ne, nejjednodussi cesta ale imho bude doinstalace frameworku do PE prostredi.
    _K5_
    _K5_ --- ---
    Měl bych dotaz na kované odborníky s Visual Studiem. Potřebuji napsat program, který bude fungovat v prostředí Windows Preinstallation Environment x64, což v praxi znamená, že se nemůže spoléhat na nic z toto, co je v plných Windows. Počínaje runtime knihovnami, přes WOW64 až po .NET v jakékoli verzi. Zatím se mi nepodařilo zjistit, jak aplikaci zkompilovat bez závislosti na .NET a runtime DLL (tzn. aby se potřebný balast stal součástí EXE). Momentálně to zkouším pod Visual Studiem 2010 Professional, ale mohu požádat i o Ultimate, pokud by to bylo pro tyto účely nutné. Pokud to nejde, potřeboval bych poradit, v čem to jde (na programovacím jazyku vcelku nesejde, ale v assembleru bych to dělal nerad ;-)
    NECROMAN
    NECROMAN --- ---
    NECROMAN: uz jsem to nasel - InactiveSelectedText background bylo treba zmenit :)
    NECROMAN
    NECROMAN --- ---
    dotaz, nejak se mi ve VS pokazilo nastaveni barev a kdyz hledam nejaka slova pomoci Quick Search, tak se v dokumentu nijak nehighlightujou - nevite, co v nastaveni upravit, aby byla videt?
    Kliknutím sem můžete změnit nastavení reklam