Singleton, pero sin clases.

Iniciado por NotHaveOne, 19 Febrero 2018, 16:47 PM

0 Miembros y 1 Visitante están viendo este tema.

NotHaveOne

Hola, soy nueva en C++ y la programación.
Estoy haciendo un programa donde solo uso registros, a través de structs, y quiero que el programa no se ejecute si ya hay uno en ejecución (no quiero que puedan abrirse 2 o más veces en simultáneo).
Si fuera un programa con clases, o al menos una, vi que podía usar la clase Singleton. Pero en mi caso, cómo debo hacer?
Son bienvenidas sugerencias, libros y webs que traten el tema.
Gracias.

MAFUS

#1
Usa un struct anónimo así:
struct {
   // Datos del struct
} mi_dato_unico;


De esta forma solo existirá esa única variable de ese tipo de estructura y no se podrán generar más al no darse un nombre a ese tipo de dato. Si bien en la zona de definición de variables pueden generarse tantas como se deseen, pero solo en ese momento.


Lo siento, comparto, creo que te entendí mal en un principio. Supongo que trabajas con Windows. Aquí tienes una buena página, solo deberás adaptarla un poco.
De igual forma trabaja con clases, así que no será leído que buscas, supongo.
https://support.microsoft.com/es-es/help/307395/how-to-use-visual-c-to-close-another-application

NotHaveOne

Muchas gracias por tu respuesta.
No lo pude hacer de esa forma porque mis structs tienen funciones, o entendí que el compilador se quejaba por ese motivo.
De todas formas encontré una manera (tal vez atada con alambre) que por el momento me va a servir.
La próxima voy a intentar implementar tu consejo.
Saludos cordiales.