Toon posts:

[C# / ASP 3] "System.Drawing.SafeNativeMethods" exception *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een C# dll gemaakt waarbij een grafiek wordt gemaakt. In combinatie met een andere .NET applicatie werkt de dll perfect. Echter wil ik een grafiek maken in classic asp en hier gaat het mis.

Ik krijg daar de volgende melding:

The type initializer for "System.Drawing.SafeNativeMethods" threw an exception.

Nou heb ik wat zitten googlen en daar kwam ik uit op de GDI dll die niet functioneert, echter kon ik nog niet echt een oplossing vinden. Iemand een idee wat ik kan doen?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Titel iets verduidelijkt :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Hoe spreek je de dll aan? Heb je er een wrapper om heen gebouwd?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Folkert
  • Registratie: September 2001
  • Laatst online: 18:54
Het lijkt me onmogelijk om een .NET dll te laten draaien binnen een non .NET omgeving

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Folkert schreef op donderdag 09 december 2004 @ 15:17:
Het lijkt me onmogelijk om een .NET dll te laten draaien binnen een non .NET omgeving
Nee hoor, je moet gewoon een com wrapper eromheen maken.

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
P_de_B schreef op donderdag 09 december 2004 @ 15:12:
Hoe spreek je de dll aan? Heb je er een wrapper om heen gebouwd?
code:
1
2
3
4
5
6
7
8
set objDiagram = Server.CreateObject("DiagramDll.Diagram")
    objDiagram.InitializeGraph()
    
    Call Response.AddHeader("Content-Disposition", "inline; filename=chart.jpg")
    
    Response.BinaryWrite(objDiagram.getImage())
    
    set objDiagram = nothing


Hij kapt er mee op InitializeGraph()....

Hij zou op de volgende code er mee moeten kappen. Rest zit in een try catch

code:
1
2
3
4
5
6
7
m_Height = 500;

            //Creating a bitmap image with given height and width.
            objBitmap = new Bitmap(Width,Height);

            //Getting the bitmap image into the graphics portion of the screen.
            objGraphics = Graphics.FromImage(objBitmap);

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Je kunt niet zomaar een .net dll aanroepen vanuit classic asp. Je moet er een zgn. Com Callable Wrapper omheen maken

Beetje uitleg:
Klik

voorbeeld:
klikkerdeklik

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
P_de_B schreef op donderdag 09 december 2004 @ 15:22:
Je kunt niet zomaar een .net dll aanroepen vanuit classic asp. Je moet er een zgn. Com Callable Wrapper omheen maken

Beetje uitleg:
Klik

voorbeeld:
klikkerdeklik
Bedankt! Ik zal het eens doorlezen. Wat ik dan wel raar vind is dat je wel berichten kan ophalen en een property geschreven in C# wel kan aanroepen, maar een plaatje niet. Het lijkt mij dat alles gebruik maakt van het framework en dus niet compatible zou moeten zijn met asp 3 of zie ik nu iets over het hoofd?

Verwijderd

Topicstarter
Ik heb net de wrapper eromheen gebouwd. Ik krijg nu de melding:

De RPC is mislukt en niet uitgevoerd.

Als ik dan refresh doe krijg ik dezelfde melding als in de eerste post. Ik kan dan een proces dllhost met mijn username killen en dan krijg ik weer de melding "De RPC is mislukt en niet uitgevoerd.".

Ik lees ergens dat die melding te maken heeft met schrijfrechten van een directory, maar dat lijkt me sterk, want ik schrijf hem niet weg naar mijn HD maar laad hem in het geheugen en geef een byte array terug die meteen naar het scherm word geschreven. Iemand een idee wat dit kan zijn?

Verwijderd

Topicstarter
Vergeten bij te vermelden dat hij crasht op

code:
1
objBitmap = new System.Drawing.Bitmap(100, 100);


objBitmap is aangemaakt als private Bitmap objBitmap

[ Voor 34% gewijzigd door Verwijderd op 10-12-2004 15:13 ]


Verwijderd

Topicstarter
Helemaal niemand die een id heeft?

  • MisterData
  • Registratie: September 2001
  • Laatst online: 16-05 23:29
Ik heb wel een idee: de edit-knop gebruiken :) En lees de FAQ, een topic schoppen mag eigenlijk pas als er 24 uur geen replies zijn geweest en je probleem dan nog niet is opgelost :)

Verwijderd

Topicstarter
MisterData schreef op zaterdag 11 december 2004 @ 17:10:
Ik heb wel een idee: de edit-knop gebruiken :) En lees de FAQ, een topic schoppen mag eigenlijk pas als er 24 uur geen replies zijn geweest en je probleem dan nog niet is opgelost :)
:Z

Ondertussen werkt het op een andere machine wel, maar op de mijne niet :S Het schijnt met de beveiliging te maken te hebben, maar we kunnen er niet achter komen wat het nou is. We hebben verschillende users admin rechten gegeven, maar niks lijkt te werken.

Iemand een idee waar ik dit moet zoeken?

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 16-05 11:22
Je moet niet in de beveiligingsinstellingen van je Windows kijken, maar in die van het .NET Framework.

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


Verwijderd

Topicstarter
riezebosch schreef op maandag 13 december 2004 @ 11:26:
Je moet niet in de beveiligingsinstellingen van je Windows kijken, maar in die van het .NET Framework.
Kheb net met mscorcfg alles op full trust gezet en gereboot, maar nog steeds werkt het niet... :/ ;( :'(
Pagina: 1