• ú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
    NECROMAN
    NECROMAN --- ---
    Microsoft vcera uvolnil Windows 8.1 RTM na MSDN/TechNetu a Visual Studio 2013 RC ke stazeni:
    Download Windows 8.1 RTM, Visual Studio 2013 RC and Windows Server 2012 R2 RTM Today - Steve "Guggs" Guggenheimer's blog - Site Home - MSDN Blogs
    http://blogs.msdn.com/...ows-8-1-rtm-visual-studio-2013-rc-and-windows-server-2012-r2-rtm-today.aspx
    Announcing the Visual Studio 2013 Release Candidate - Somasegar's blog - Site Home - MSDN Blogs
    http://blogs.msdn.com/...archive/2013/09/09/announcing-the-visual-studio-2013-release-candidate.aspx
    GOSHEWAN
    GOSHEWAN --- ---
    TENCOKACISTROMY: Tak presne tohle mam udelane a nejede to. Muze byt problem ve vlaknech?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    GOSHEWAN: Takhle se na trace pripojuju ja a jede mi to v pohode.
    GOSHEWAN
    GOSHEWAN --- ---
    TENCOKACISTROMY: Fungovalo by tohle? I.e. zachytit to listenerem, presmerovat na Console.Out a to pak presmerovat uplne jinam...
    var listener = new TextWriterTraceListener(Console.Out);

    Trace.Listeners.Add(listener);
    Debug.Listeners.Add(listener);
    var serverOut = new NamedPipeServerStream("pipeOut", PipeDirection.InOut, 10, PipeTransmissionMode.Byte, PipeOptions.Asynchronous);
    SetStdHandle(StdOutHandle, serverOut.SafePipeHandle.DangerousGetHandle());
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    GOSHEWAN: Neni to pres trace? TraceListener
    GOSHEWAN
    GOSHEWAN --- ---
    Opet resim redirect vystupu z unmanaged DLL. Jedna se o Matlab Compiler DLL (matlab kod obaleny v Ccku).

    Mam presmerovany STDOUT a STDERR, ovsem ta mrcha stale neco vypisuje do immediate window... Jak to muzu odchytit?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Lepsi to mas takhle:
    DeleteBookmarks(IEnumerable<Bookmark> items);
    DeleteBookmarks(params Bookmark[] items);
    
    NECROMAN
    NECROMAN --- ---
    TENCOKACISTROMY: ToArray() :)
    zas tak velke kolekce nevedu, ze by tu byl vykonnostni problem.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Blby je, ze pak vsechno musis prevadet na pole.
    NECROMAN
    NECROMAN --- ---
    Dalsi noob postreh, casto resim, zda implementovat dve servisni metody typu
    DeleteBookmark(Bookmark b) a DeleteBookmarks(ICollection<Bookmarks> bs)
    nebo jen tu druhou.

    Oboje to efektivne vyresi jedina metoda pomoci params :)
    DeleteBookmarks(params Bookmarks[] bs)
    NECROMAN
    NECROMAN --- ---
    MORMEGIL: Y-combinator, no to uz je vyssi divci :)
    MORMEGIL
    MORMEGIL --- ---
    NECROMAN: Tohle ještě tak krásné není. Krásné to bude, až se podaří zbavit se té lokální proměnné (jinými slovy, aby to přežilo, když o řádek níž uděláš handler = null). ;-) Pro inspiraci ke skutečné kráse viz třeba Anonymous Recursion in C#.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: to nekdo dela jinak :)?
    NECROMAN
    NECROMAN --- ---
    Nasel jsem krasne reseni problemu, jak v C# odebrat anonymni event handler - v samotnem event handleru budu mit odkaz sam na sebe pro unsubscribe :)
    EventHandler handler = null;
    handler = (s, e) => {
        callback(e.Result);
        _client.AddMemberToTeamCompleted -= handler;        
    };
    _client.AddMemberToTeamCompleted += handler;
    GOSHEWAN
    GOSHEWAN --- ---
    JACHYMKO: Diky! Ma to nejaka omezeni na ktera bych mel pamatovat? Bohuzel jsem winapi dost nepoznamenany...

    Ta DLL dela nejake celkem rychle vypocty, ale ze zvedavosti - udelat to nejak event-based asi nejde, co? I.e. abych mohl hned reagovat na nejakou zpravu (coz nyni nastesti nepotrebuju).
    GOSHEWAN
    GOSHEWAN --- ---
    Resili jste nekdo nekdy odchyceni zapisu do stdout pri P/Invoke do unmanaged (c++) DLL? Jak?

    Mam DLL, ktera zapisuje hromadu veci na stdout/stderr. Nemuzu ji menit a potrebuji logovat jeji vystupy do eventlogu. Jak na to? Google nasel relativne dost ruznorode pristupy, ovsem ani jeden se mi nepodarilo dotahnout do uspesneho konce...

    Napr. presmerovani stdout pre handle do souboru funguje, ale rad bych se tomu vyhnul, protoze by to jinak znamenalo konstantni sken toho souboru (nebo ne?).
    TOOMIX
    TOOMIX --- ---
    Problém vyřešen...support mi odpověděl to, co už dávno vím, že mám posouvat range. Nevěděl jsem ale, jak získat přístup properties toho grafu v ChartControlu, už jsem na to přišel, tak kdyby se to někomu hodilo

    ((DevExpress.XtraCharts.SwiftPlotDiagram)grafFlow.Diagram).AxisX.Range.MaxValue = maxFlow;
    ((DevExpress.XtraCharts.SwiftPlotDiagram)grafFlow.Diagram).AxisX.Range.MinValue = minFlow;
    LOOCAS
    LOOCAS --- ---
    NECROMAN: Tak aspoň, že tak. :) Ve verzi 8.0 to prostě nejede a hotovo a to jsou ty Wokna na trhu už rok, nebo jak dlouho...
    NECROMAN
    NECROMAN --- ---
    LOOCAS: tak prave vyzkouseno - KB MojeBanka funguje v IE11 na Windows 8.1 Preview i v Metro rezimu.
    LOOCAS
    LOOCAS --- ---
    NECROMAN: Osobně, zcela upřímně, doufám, že metro na PC vymře a vrátěj se zpět k zcela perfektně funkčnímu start menu.
    Kliknutím sem můžete změnit nastavení reklam