Hola de nuevo.
Pues la verdad es que no ando muy espavilao con este código, es decir, que es la primera vez que utilizo upnp y logicamente ando un poco perdido.
Para probarlo, lo estoy ejecutando desde un formulario normal y corriente.
¿debería funcionar en un formulario?
Depurando el código veo que en esta línea:
Código Delphi
[-]
Ports := Nat.StaticPortMappingCollection;
La variable "Ports" tiene asignada la dirección $00000000 y al ejecutar la siguiente línea:
Código Delphi
[-]
Ports.Add(port, 'TCP', port, LAN_IP, True, name);
da el access violation.
He introducido la línea CoInitialize(nil); al principio de la función y obtengo el mismo resultado.
Gracias por contestar seoane.
Un Saludo.