Results 1 to 8 of 8

Thread: TSocketconnection.Destroy

  1. #1
    Senior Member
    Join Date
    Jan 2003
    Location
    Almere
    Posts
    147

    Angry TSocketconnection.Destroy

    Ik heb grote ruzie met een datamodule, waarop een socketconnection staat. Deze socketconnection wordt, zo als je mag verwachten, door de datamodule destroyed op het moment dat de applicatie afsluit. Het punt is alleen, dat in bepaalde gevallen, dit een Access Violation oplevert.
    Ik heb zo ver mogelijk gedebugged en kom uit bij een API call
    WaitForSingleObject(FTransport.Handle, 180000);
    wat blijkbaar een call is naar de kernell. Deze call wordt gemaakt in de unit SConnect in de procedure TStreamedConnection.InternalClose
    FTransport is nog gewoon beschikbaar, maar blijkbaar is de handle niet meer geldig. Heeft iemand enig idee hoe dit fout kan gaan en waar ik moet zoeken???
    And then silence smacked right in there!

  2. #2
    Senior Member
    Join Date
    Jan 2003
    Location
    Almere
    Posts
    147
    Probleem opgelost, dankzij mijn collega Martin. Het blijkt, dat je een socketconnection niet mag destroyen, zonder dat application.run is aangeroepen. Blijkbaar wordt daar de handle van de transport thread aangemaakt.
    And then silence smacked right in there!

  3. #3
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269
    Wat een belachelijk component . Zonder gein, dat is natuurlijk geen manier van programmeren vind ik. Misschien is het nu teveel werk om over te zetten, maar als ik jou was zou ik volgende keer gaan kijken naar betere componentensets, waarbij Indy m'n favoriet is...
    Qui custodiet ipsos custodes

  4. #4
    Senior Member walterheck's Avatar
    Join Date
    Oct 2001
    Location
    Belo Horizonte, Brasil
    Posts
    4,212
    De TSocketConnection is een component om verbinding te maken met een remote datamodule, dus hij lijkt me niet direct vervangbaar door een INDY-component. Wat je wel kan gebruiken is een TDCOMConnection, misschien heb je daar meer aan...
    Nee, de Romeinen spraken geen ISO-8859-1 LATIN

  5. #5
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269
    Argh. Tweede keer deze week dat ik niet verder kijk dan m'n neus lang is, excuses
    Qui custodiet ipsos custodes

  6. #6
    Heb je je connectie wel gesloten voordat je je programma afsluit? Het lijkt erop dat de verbinding nog niet (goed) is afgesloten.

    Een Socketconnection vervangen door een DComConnection is in principe mogelijk, maar heeft wel wat beperkingen. Voor een DCOM call moet je je security in je netwerk regelen en moeten er meer poorten open staan naar de betreffende server.
    Marcel

  7. #7
    Senior Member
    Join Date
    Jan 2003
    Location
    Almere
    Posts
    147
    Inderdaad. En en dat is voor ons echt een probleem, omdat we eigenlijk de installatie van onze software willen gaan automatiseren. Ik heb zelf geen ervaring met DCOM, maar de experts zeggen dat het echt naar is om aan de praat te krijgen.
    And then silence smacked right in there!

  8. #8
    Als je ook de server automatisch wilt installeren wordt dat inderdaad best lastig, maar het is natuurlijk wel een stuk beter beveiligd. Maar heb je mijn vraag ook nog bekeken?
    Marcel

Thread Information

Users Browsing this Thread

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

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
  •