begin process at 2010 02 10 08:03:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Système

 > 

Mémoire

 > 

Pb de Thread


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb de Thread

samedi 12 mai 2007 à 13:32:00 | Pb de Thread

lo_63

Bonjour

j'ai une petit question sur les threads.

voila je suis en train de cherché un moyen pour executé une fontion qui ce trouve dans un autre thread.

Exemple :
Mon appli a le thread 2501 et le pointeur $11d457 de la fonction sur la deuxieme appli avec thread 5401.

Quand je fais sur mon appli

type
 toto : function (x,y):longint;stdcall;
var
callback : toto;

begin
@callback := $11d457;
messagebox(0,callback(x,y),'',mb_ok);
end;

Donc apres execution il y a une erreur fatal, je crois que c'est normal puisque au niveau l'appel de la fonction le call se fait sur le meme thread 5401.

Donc je cherche a savoir si c'est possible de changer de thread avant le call de la fonction.

voila j'espere que ma question n'est pas trop nulos :)

A Bientot .....
mardi 15 mai 2007 à 19:06:19 | Re : Pb de Thread

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

executé une fontion qui ce trouve dans un autre thread

Pour moi, ça ne veut pas dire grand chose...

Un thread ça ressemble à un contexte d'execution (Adresse de la prochaine instruction à executer, etat de la pile, état des registres...) Tous les thread d'un même processus ont accès à la même mémoire, et aux mêmes fonctions.

Un thread c'est en quelques sorte un chemin suivie par le processeur dans le code. Avec deux trhead, on obtient deux chemins qui sont executés simultanéments dans le code (En apparence seulement vu que le processeur ne peut executé qu'un thread à la fois. Du moins les vieux proces.).

Tu peux pas préciser un peu svp ?
mardi 15 mai 2007 à 19:16:31 | Re : Pb de Thread

rt15

Membre Club Administrateur CodeS-SourceS
Je crois que j'ai saisie : tu veux executer un code se trouvant dans un autre processus.

Tes deux applis ne partagent pas la même mémoire. Autrement dit, à l'adresse x dans le processus 1, il n'y a pas la même chose qu'à l'adresse x dans le processus 2.

Une technique d'execution de thread dans un processus différent est détaillé dans un des deux bouquns sur cette page (JR4 ou CP5), je sais plus. Mais en anglais et en C...

Un execute remote thread dans google peut donner du résultat aussi je pense.
mardi 15 mai 2007 à 19:17:17 | Re : Pb de Thread

rt15

Membre Club Administrateur CodeS-SourceS
J'ai oublié le lien...

http://brunews.free.fr/brunews/index.htm
mardi 15 mai 2007 à 22:42:45 | Re : Pb de Thread

lo_63

bonsoir rt15

Tout d'abord merci pour les réponses.

je vais regarder le JR4. mais je pense que tu as compris mon probleme.

je vais etre peut etre plus clair.

j'ai une application qui load une dll pour les hook et je mets en parametre le pointeur de ma fonction qui est dans mon application 1 et le handle d'une application ou j'applique une demande de hook sur les evenements souris.

Donc quand le handle sur ma form, la dll fait un call sur ma fonction sans posé de probleme, puisque on utilise la meme memoire.

mais si le handle est sur une autre application le call fait une erreur fatal sur l'application ou le hook etait installé.

Apres verification c'est bien ce que tu disait il n'utilise pas la meme memoire et donc le call envoie sur un pointeur memoire de applcations avec le hook.

Le test maintenant c'est d'essayé un CreateRemoteThread mais j'en suis pas sur ;), ca va etres de la haute voltige looll. enfin je vais voir si je crash pas mon pc ;)

Je metterait des infos si cela fonctionne

Merci Encore








Cette discussion est classée dans : fonction, pb, appli, thread, callback


Répondre à ce message

Sujets en rapport avec ce message

Pb Ressources système [ par ogizmo ] Bonjour à tous,Je suis en cours de création d'une appli, mais depuis peu, après avoir fermé mon appli, les ressources systèmes de mon PC s'écroule pet Pb avec la fonction COPY [ par Faust ] ex: dans un composant TEdit je rentre ceci :2/3; ou bien 2*7 Je veux qu'il crée 2 sous chaînes dans lesquelles serait placé le chiffre placé avant et Lenteur de la fonction CopyFile() !!! [ par Ndmax ] Slt !J'ai fait une petite appli et j'essaie maintenant de l'optimiser..Je me suis rendu compte que parfois, la fonction CopyFile() peut être très rapi Pb appli multitaches [ par Dani79 ] Salut,j'ai un programme qui realise une communication avec une carte multiport (8 ports serie), il utilise le multitache pour realiser des telechargem pb distribution d'un prog avec BDE [ par gilch ] bonjour, j'ai un probleme avec une appli utilisant lbde et des alias.le prog fonctionne trés bien, la version install aussi (avec inno setup) , par co execution en pas à pas [ par mathieu57100 ] bonjour,j'ai dans mon appli une unité Thread...lorsque j'execute mon appli, j'ai une erreur dans le thread, mais si j'execute en pas à pasa pprofondi Pb de récupération d'un entier dans une chaîne de caractère [ par billou_13 ] Voila mon problème, je voudrais trouver une fonction faisant comme sscanf en c++.C'est à dire, pour récupérer le numéro du joueur dans une chaîne reçu création de mon application [ par herve_wolf ] salut je viens de faire une application de carnet d'adresses pour débuter avec délphi 7 et de ce coté la pas trop de pb.mon pb et de faire fonctionner macro et fonction key macro Ctrl+Shift+R ? [ par PhilLU ] Salut,Je souhaite créer une macro avec Delphi.En fait ouvrir une appli externe et entrer une valeur dans le champ sous focus de cette même appli, puis Problème à la mise en place d'un thread [ par John Dogget ] Salut à tous.J'utilise une fonction qui récupère l'adresse IP d'un ordinateur à partir d'un site web. Comme cette fonction est dépendante du réseau, s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales