Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 11-07-2025
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
El problema clave
Windows 10/11 Home Edition NO permite servicios creados por el usuario de forma convencional (como en Pro).
En concreto:

No soporta por completo la infraestructura de servicios personalizados, especialmente si no usas instaladores con privilegios elevados.

Tu servicio probablemente no se está instalando correctamente, aunque creas que sí arranca.

Si no aparece en services.msc o el Administrador de tareas → pestaña Servicios, entonces no está registrado como servicio del sistema.

¿Por qué aparece en Windows 10 Home pero no en 11?
Windows 10 Home aún permite más tolerancia con servicios mal registrados. Pero:

Aunque aparezca en la lista de servicios, no se ejecuta correctamente.

No tiene permisos de acceso a disco (ni siquiera para escribir logs).

TService se ejecuta en contexto restringido, sin permisos de escritorio, temporales, o acceso a rutas de usuario como C:\Users.

Conclusión
En Windows Home, los servicios hechos en casa no están del todo soportados.

Aunque el código esté bien, no ejecutará correctamente sin configuración y permisos adecuados.

Lo ideal es probar primero como app normal, y luego migrar a servicio en una edición Pro o usando un instalador con sc.exe.


✅ SOLUCIONES POSIBLES
OPCIÓN 1 — Ejecutar como aplicación normal (no servicio) para pruebas
Código Delphi [-]
// Usa esto como prueba en un TForm con un botón

procedure TForm1.Button1Click(Sender: TObject);
var
  myFile: TextFile;
begin
  AssignFile(myFile, 'C:\Temp\test_log.txt');
  Rewrite(myFile);
  WriteLn(myFile, 'Esto sí escribe desde una app normal.');
  CloseFile(myFile);
end;
👉 Si esto funciona, tu problema es 100% que el servicio no se ejecuta correctamente en modo real.

OPCIÓN 2 — Verifica e instala bien el servicio
Abre una consola como Administrador.

Navega a donde está tu .exe del servicio.

Instálalo:

Código:
MyService.exe /install
Luego ábrelo en services.msc, no en el Administrador de tareas.

Asegúrate de que:

Aparece en la lista.

Puedes hacer clic derecho → Iniciar.

No da error al arrancar.

OPCIÓN 3 — Cambia el usuario del servicio
Por defecto, el servicio se ejecuta como LocalSystem, que no puede acceder a carpetas de usuario. Cámbialo:

En services.msc, busca tu servicio.

Clic derecho → Propiedades → pestaña Iniciar sesión.

Marca "Esta cuenta" y pon tu cuenta de usuario de Windows.

Introduce la contraseña.

OPCIÓN 4 — Registra log en el Visor de Eventos (más fiable en servicios)
Agrega esto a WriteLog para registrar en el visor de eventos:

Código Delphi [-]
ReportEvent(
  RegisterEventSource(nil, 'MiServicio'),
  EVENTLOG_INFORMATION_TYPE,
  0, 0, nil,
  1, 0, @PChar(cMsg), nil
);
Es más confiable que escribir a disco bajo LocalSystem.

Última edición por navbuoy fecha: 11-07-2025 a las 21:33:25.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TService sancarlos API de Windows 4 12-11-2008 10:14:25
TService y TForm Softweb API de Windows 5 20-10-2008 17:41:01
TService, IB, FB OSKR C++ Builder 0 27-04-2005 11:51:11
Imprimir desde un TService gynch Varios 2 02-04-2004 19:35:23
Imprimir desde un TService gynch Impresión 0 24-03-2004 14:12:16


La franja horaria es GMT +2. Ahora son las 05:57:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi