SERVER TCP/IP EN UTILISANT LES COMPOSANTS ICS

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 22 mars 2006 à 14:07
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
2 janv. 2007 à 12:55
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 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
13 avril 2006 à 19:47
Je cherche aussi..
KaStriKer Messages postés 4 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 13 avril 2006
13 avril 2006 à 18:36
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 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
13 avril 2006 à 17:01
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
13 avril 2006 à 16:52
ca plante toujours avec le UTEnvironment.dcu
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
13 avril 2006 à 15:29
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
13 avril 2006 à 14:05
Des que je compile ca donne ca :

[Fatal Error] USvrCmd.pas(71): File not found: 'UTEnvironment.dcu'
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
12 avril 2006 à 08:30
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
12 avril 2006 à 00:43
Ya t-il une solution pour compiler avec le probleme du TEnvironment.dcu?
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
24 mars 2006 à 17:47
pour info le n° du zip : delphifr_source_36655.zip
Non du projet : SrvCmd.dpr
@+
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
23 mars 2006 à 15:16
ton projet s'appelle "SvrCmd"..
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
23 mars 2006 à 14:52
Tenvironment.dcu est un composant à moi !!!

Peux-tu faire un construire "clientReseau" dans le menu Projet de delphi
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
23 mars 2006 à 14:48
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 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
23 mars 2006 à 14:19
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 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
23 mars 2006 à 13:56
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 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
23 mars 2006 à 13:46
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 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
23 mars 2006 à 13:37
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 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
23 mars 2006 à 11:52
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 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
22 mars 2006 à 14:57
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 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
22 mars 2006 à 14:32
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 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
22 mars 2006 à 14:27
je l'ai fait mais ça plante car je n'ai pas :
FtpSrv.dcr
??
vaughan Messages postés 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
22 mars 2006 à 14:18
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 198 Date d'inscription mardi 6 août 2002 Statut Membre Dernière intervention 29 octobre 2008
22 mars 2006 à 14:16
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 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
22 mars 2006 à 14:07
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 !
Rejoignez-nous