SERVER TCP/IP EN UTILISANT LES COMPOSANTS ICS

Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
- - Dernière réponse : cs_potiok
Messages postés
2
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
2 janvier 2007
- 2 janv. 2007 à 12:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36655-server-tcp-ip-en-utilisant-les-composants-ics

cs_potiok
Messages postés
2
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
2 janvier 2007
-
Pour ceux qui cherchent encore :
1) enlever la référence à UTFile
2) voici le code de UTGetpid

unit UTGetpid;

interface

uses windows, SysUtils;

function FindProcessByModuleNameNT(Name: string): THandle;

implementation

uses
psapi, tlhelp32;

// returns process ID
function FindProcessByModuleNameNT(Name: string): THandle;
var
PIDList: array[0..1023] of THandle;
i: integer;
ListCount, size: cardinal;
hProcess, hModule: THandle;
ModuleName: array[0..MAX_PATH] of char;
begin
result:= 0;

EnumProcesses(@PIDList, sizeof(PIDList), ListCount);

ListCount:= ListCount div sizeof(THandle);

for i:= 0 to ListCount-1 do
begin
// get process handle for each process id we got
hProcess:= OpenProcess(PROCESS_QUERY_INFORMATION +
PROCESS_VM_READ, false, PIDList[i]);

try
if hProcess <> 0 then
begin
// get handle to first module, which is the exe
if EnumProcessModules(hProcess, @hModule,
sizeof(hModule), size) then
begin
// extract the filename
GetModuleFileNameEx(hProcess, hModule,
ModuleName, sizeof(ModuleName));

if AnsiCompareText(ExtractFileName(StrPas(@ModuleName)), Name) = 0 then
begin
result:= PIDList[i];
exit;
end;
end;
end;
finally
CloseHandle(hProcess);
end;
end;
end;

function FindProcessByModuleName9x(Name: string): THandle;
var
hSnapshot: THandle;
next: boolean;
pe: TProcessEntry32;
begin
result:= 0;

hSnapshot:= CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if hSnapshot = THandle(-1) then
exit;

FillChar(pe, sizeof(pe), 0);
pe.dwSize:= sizeof(pe);

next:= Process32First(hSnapshot, pe);

while next do
begin
if AnsiCompareText(StrPas(@pe.szExeFile), Name) = 0 then
begin
result:= pe.th32ProcessID;
next:= false;
end
else
next:= Process32Next(hSnapshot, pe);
end;

CloseHandle(hSnapshot);
end;

end.
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
Je cherche aussi..
KaStriKer
Messages postés
4
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2006
-
je vais etre chiant mais maintenant ca plante a cause de

Build
[Warning] UTSystem.pas(86): Method 'Create' hides virtual method of base type 'TProcess'
[Fatal Error] UTSystem.pas(141): File not found: 'UTFile.dcu'
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
Ajouté dans la source
KaStriKer
Messages postés
4
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2006
-
ca plante toujours avec le UTEnvironment.dcu
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
Supprimer tout les fichiers dcu et faire une recompile !!!
KaStriKer
Messages postés
4
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2006
-
Des que je compile ca donne ca :

[Fatal Error] USvrCmd.pas(71): File not found: 'UTEnvironment.dcu'
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
Merci de recompiler l'ensemble du projet SrvCmd.

David
KaStriKer
Messages postés
4
Date d'inscription
dimanche 18 décembre 2005
Statut
Membre
Dernière intervention
13 avril 2006
-
Ya t-il une solution pour compiler avec le probleme du TEnvironment.dcu?
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
pour info le n° du zip : delphifr_source_36655.zip
Non du projet : SrvCmd.dpr
@+
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
ton projet s'appelle "SvrCmd"..
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
Tenvironment.dcu est un composant à moi !!!

Peux-tu faire un construire "clientReseau" dans le menu Projet de delphi
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
Oui mon lien est bon et j'en ai ajouté un deuxième me permettant d'éviter certaines erreurs mais j'ai maintenant un souci avec
TEnvironment.dcu..
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
C'est pas mon prog qui à un soucis mais plutôt ton environnement :

Tu as bien dans "Chemin des bibliothèque" ton environnement qui point sur ICS ?

Le composant WsktsrvrCmd viens de ICS
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
je n'en suis pas là..j'ai plein de messages d'erreur à l'ouverture du prog concernant des propriétés qui ne passent pas comme par ex :

"WsktsrvrCmd.LastError: Propriété en lecture seule"
etc. etc.
Sous Delphi 7 windows XP sp2
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
Tu as un message d'erreur à l'execution du programme ?

Ton serveur se trouve normalement dans le systray. Click droit et faire open afin de voir si il est en attente client.
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
Je suis tenace et j'ai donc tout repris et après avoir trituré les paquets pendant plus d'une heure, j'ai maintenant 23 composants ICS dans mon onglet et aucun message d'erreur à l'ouverture de D7.. avec les bons liens
Donc installation nickel.
Mais l'appli ne fonctionne pas...
????
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
il s'agit en fait du fichier WSocket.dcu..
j'ai tout réinstallé, mais rien à faire..
je bosse sous D7 XP sp2.
??
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
ta ta ta ,
il en faut..car j'ai supprimé les intrus et ça compile certes mais le prog plante encore..

bref, j'ai tjrs un os avec WSocketServer.dcu qui n'existe pas sur mon disque..
il ne risque pas de le trouver.

Moi, qd je publie qlqchose ça marche na !
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
C'est des versions Béta ... il te suffi de compiler et d'enlever les composants qui n'ont pas de lien à chaque erreur !!!

Courage
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
je l'ai fait mais ça plante car je n'ai pas :
FtpSrv.dcr
??
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
Ah !!!
N'oublie surtout pas de compiler le package ICS car ton soucis vient qu'il te manque le fichier .dcu résultant de la compilation du package.
vaughan
Messages postés
207
Date d'inscription
mardi 6 août 2002
Statut
Membre
Dernière intervention
29 octobre 2008
-
Le mieux c'est aller à la source donc sur le site officiel ICS :

http://www.overbyte.be/frame_index.html

Moi j'ai la version V5 mais la V6 doit prendre en charge Delphi 2006 en plus.
cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9 -
Je suis intéressé par ce programme, mais j'ai un souci avec
WSocketServer.dcu..
c'est peut-être beaucoup demandé mais pourrais-tu fournir le zip des composants ICS car il m'en manque pas mal..

merci par avance
et vive delphi !