Toon posts:

[Delphi5] Dll niet multi-user geschikt in IIS 5 en 6

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik heb een DLL die geprogd en gecompiled is in Delphi 5. De functies in deze DLL doen niets anders dan op basis van input SQL-queries op een Access-database uitvoeren (connecten via een .udl-bestand (ODBC ingesteld)), de data bewerken en returnen.

Dit werkt goed, maar zodra twee of meer users TEGELIJK een .asp document aanroepen die een functie van de DLL gebruikt, krijg ik een error:


error '8000ffff'

Catastrophic failure

Pad en regelnummer waar dll-functie aangeroepen wordt.


Vreemd dat dit niet goed gaat. Als ik namelijk rechtstreeks vanuit ASP via ADODB met de Access-mdb praat, knalt ie er nooit (tenminste tot nu toe) uit. En als het via de DLL gaat al direct zodra twee requests 'tegelijk' binnenkomen.

De IIS loopt dan ook vast en moet worden herstart. Als ik het .asp bestand in een Virtual Dir. zet met hoge app.protection, loopt alleen dat ding vast, maar moet ik nog steeds de hele IIS herstarten om het ding weer aan de praat te krijgen.

We hebben dit geprobeerd met W2K, IIS5 en W2k3, IIS6.

Ik heb geen enkel idee waarom het niet zou kunnen werken. Heeft iemand ervaring met Delphi-dlls en Access MDB's?

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je hebt nu een COM object gemaakt in Delphi die je benaderd via je ASP pagina? Heb je er ook rekening mee gehouden dat dat COM Object multithreaded kan worden aangeroepen vanuit de ASP pagina?

Zie ook http://www.jansfreeware.com/articles/delphiasp.html en http://delphi.about.com/library/bluc/text/uc110601a.htm en http://codecentral.borlan...cweb.exe/listing?id=15141

We adore chaos because we like to restore order - M.C. Escher


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Ben je uberhaupt bekend met multithreading development, synchronizatie en critical section e.d.?

Professionele website nodig?


Verwijderd

Topicstarter
Bedankt.

Ik heb de DLL niet zelf geprogrammeerd, maar heb de link van dit topic naar de programmeur van de DLL gemaild.

Maar ik begrijp dat het bij het maken van een com-object nodig is om ervoor te zorgen dat hij multithreaded kan worden aangeroepen.

Dan zit daar waarschijnlijk het probleem. Als jullie nog tips/suggesties/veel voorkomende fouten weten, ben ik uiteraard erg geinteresseerd.

Verwijderd

Topicstarter
Hallo,

De DLL is goed gebouwd voor wat betreft multithreading development. Het probleem blijft vreemd.

Ik heb nu SQL-Server 2000 geinstalleerd en de Access-mdb daarin geimporteerd. UDL-File aangepast: het werkt probleemloos.

Het ligt dus aan Access of de koppeling tussen IIS/DLL en Access.

Bedankt voor jullie tips!