Results 1 to 7 of 7

Thread: unmanaged .NET

  1. #1
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357

    unmanaged .NET

    Hmm, er zit me al een tijdje iets anders dwars, dus stel ik de vraag hier maar. Ik heb nog geen uitgebreide research gedaan, dus ben svp een beetje constructief.

    (
    zie ook de thread: Mijn gedachte: "Borland een tegenstrijdig bedrijf" verhelpen,
    met name mijn opmerkingen over conversie)

    Heeft iemand goede info over unmanaged .NET, bij voorkeur Delphi based ? Dat zou evt dit soort problemen ook kunnen oplossen. Legacy code porten naar unmanaged Delphi.NET, en daar bovenop managed bouwen, en gradueel evt de rest converteren van managed naar unmanaged.

    De conversie van Delphi/win32 naar unmanaged Delphi/.NET zou dan heel gradueel kunnen gaan, en geen gigantische conversie kosten opbouwen als .NET een flop blijkt te zijn. (en dat bedoel ik niet noodzakelijk flop in het algemeen, maar in de industrie tak waar je werkt)

    De info over unmanaged .NET (ook de Microsoft kant) is een beetje mager overal (al heb ik ook nog niet keihard gezocht). Er lijkt alleen C++ als unmanaged taal te zijn?
    Ook alle andere .NET initiatieven op het (nietdot) NET hebben het altijd alleen over managed. Er is een keur aan managed talen te krijgen, maar vziw niet een unmanaged buiten Microsoft

    Dit lijkt erop dat alleen Microsoft unmanaged .NET talen kan implementeren(b.v. omdat de unmanaged API's undoc'ed zin), omdat een gewone compiler retargeten naar een andere API redelijk triviaal moet zijn?

    Het zou ook kunnen dat de managed <-> unmanaged interface bepaalde eisen aan de unmanaged code stelt (voor boxing/unboxing), die het retargeten triviaal maakt, iemand die hier iets over gehoord heeft?

    (later geedit, maar ik hoop dat dit duidelijk was:

    Ik zoek dus alles wat een gedegen inzicht geeft in unmanaged .NET, boeken, sites etc)
    Last edited by marcov; 17-Jun-04 at 13:33.

  2. #2
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Niet in Delphi for .NET, zie Danny Thorpe
    All methodologies are based on fear. -- Kent Beck.

  3. #3
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Dat dacht ik al. Maar de mail/thread is tenminste iets, merci.

    Kijken of ik iets meer kan vinden over "unmanaged entry points" in DLLs etc. Hmm, I'm feeling lucky, en .....

    http://www.c-sharpcenter.com/Tutorial/UnManaged.htm

    Hier kan blijkbaar plain C in willekeurige DLLs aangeroepen worden. Een cdeclje voor win32 Delphi code zou je dus al een eind brengen als je je interface puur procedureel
    houdt. Het laat zelfs de marshalling voor strings zien :-)

    Er is ook nog een deel twee wat classes marshalled.

    Basic, maar heeft mogelijkheden. Thnx again

  4. #4
    Je kan wel je applicatie fysiek in managed en unmanaged delen verdelen. Deze delen kunnen wel met elkaar interfacen. Je kan in D7 .Net assemblies benaderen, je kan in D8 gewone DLLs benaderen, je kan in D8 COM objecten benaderen en je kan in D8 assemblies maken die als gewone DLL's te benaderen zijn. De details van boxing en unboxing wordt door het framework en de compiler geregeld.
    We adore chaos because we like to restore order - M.C. Escher

  5. #5
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Lord Larry: dat is wel het idee ja.

    Het .NET-> gewone dll is voor mij het interessants, omdat ik nu nog D6 heb. Ik kan namelijk dan nu subsystemen als dlls uitfactoren, en later in een voor de rest from scratch .NET applicatie hergebruiken. Tot die tijd kan ik misschien wat spelen met Microsofts gratis .NET framework om de connectie te testen.

    Dat is tenminste een echt gefaseerd migratie pad.

    Enfin, gelukkig speelt dit voor Longhorn (en dus D9 denk ik?) allemaal niet. Er is geen vraag naar .NET op dit moment onder de "klanten",.

  6. #6
    Longhorn staat voor 2006 gepland, maar er is eigenlijk niemand die ook gelooft dat dat gehaald gaat worden D9 is gepland rond het einde van dit jaar.

    Het aanroepen van 'gewone' dll's vanuit .Net gaat dmv PInvoke. http://pinvoke.net/ heeft een verzameling van kant en klare code voor heel veel verschillende api calls, maar voornamelijk in C#. In Delphi 8 for .Net gaat het ongeveer net zo, maar dan met Delphi types natuurlijk.

    Code:
    [DllImport(advapi32, CharSet = CharSet.Auto, SetLastError = True, EntryPoint = 'GetUserName')]
    function GetUserName; external;
    We adore chaos because we like to restore order - M.C. Escher

  7. #7
    mov rax,marcov; push rax marcov's Avatar
    Join Date
    Apr 2004
    Location
    Ehv, Nl
    Posts
    10,357
    Hmm, dus D9 heeft geen Avalon? Dus als je met D8 naar .NET gaat mag je het weer aanpassen voor D10 /Avalon, en tussentijds ook nog met D9? Lijkt me geen strak plan.

    Maar enfin, dat hebben we al gehad; het voorbeeld lijkt me inderdaad eenvoudig:
    [ dll-naam, charset voor string interpretatie, verandert lasterror, en case sensitive mangled-functie naam-in-dll]

    De lastige zullen die met de structures wel zijn.

    Aargh, die pinvoke pagina doet niet veel, niet in Mozilla, en niet in IE6. Waarschijnlijk de proxy, zal thuis eens kijken. Bagger webdesign trouwens.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 67
    Last Post: 15-Jun-04, 12:32
  2. CTTM 2003
    By Marcel in forum Koffiehoek
    Replies: 26
    Last Post: 02-Jun-03, 13:02

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •