Winsock-kontrollen är en wrappning kring en asynkron socket. Asynkrona sockets implementeras i Windows via fönstermeddelanden. Därför kan man inte instansiera MSWinsock utan att den på nåt sätt har tillgång till (ligger på) ett fönster.
Föslag:
1. Dim:a en inparameter av typen Winsock (som du gör) och skicka in den i dll:en "utifrån".
2. Lägg ner Winsock-idéen och använd Winsock-API:et direkt istället.
I ärlighetens namn så ska jag kanske säga att det finns ett tredje sätt: Lägg till ett (osynligt) form med en MSWinsock i dll:en och skapa sen instanser av form:et när du behöver en ny socket. Personligen tycker jag det känns lite "perverst" med GUI inne i en COM-dll, men allt är tycke och smak och funkar gör det ju.
255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849