Accueil > Forum > > > > vérifier si adresse mémoire valide
vérifier si adresse mémoire valide
lundi 15 août 2005 à 14:34:54 |
vérifier si adresse mémoire valide

yvescollet
|
bonjour, j'aimerais savoir s'il est possible de tester qu'un pointeur contenant une adresse mémoire pointe bien sur une structure existante. (je dois débugger une applic qui contient plein de pointeurs ayant une adresse (<> nil) mais qui pointent sur des adresse non valides, et donc ça pete quand je fais des : if assigned(x) then freeandnil(x); merci d'avance Yves
|
|
lundi 15 août 2005 à 16:00:01 |
Re : vérifier si adresse mémoire valide

Zeroc00l
|
Je ne crois pas que tu puisses.
Si c'est une structure que tu as défini toi-même, alors non.
Codes toi un gestionnaire de classe sinon.. ca va te prendre un p'tit peu de temps mais ça sera toujours reutilisable !
Une astuce toute simple :
Remplace ta struct par une classe.
Definit un vecteur static dans cette classe (qui prend des TObject)
Dans le constructeur ("Create" en general) de cette classe : ajoute "Self" au vecteur.
Dans le destructeur ("Destroy en general) de cette classe : enelve "Self" du vecteur
Crée une methode static "function Contains(const TObject obj) : bool;"
qui retourne vrai ou faux suivant que l'adresse est dans le vecteur
Soit tu utilise Contains, soit ca te fais chier et tu met le test dans le destructeur
(comme ca marche pour tout les objet)
Cependant si tu le met dans le destructeur ca ne t'aide pas bcp car
meme si le test est effectué, et meme si tu affiche un message, l'objet
sera detruit.Tu peux cependant mettre un point d'arret si dans le
dstructeur tu t'apercois que Self n'est pas dans le vecteur et regarde
la pile des appel, tu sauras d'ou viens la destruction d'un mauvais
objet
Voili voilo , j'espere que j'ai pas été trop obscure :)
Bonne prog
-={[ Zeroc00l ]}=-
|
|
lundi 15 août 2005 à 19:45:55 |
Re : vérifier si adresse mémoire valide

Delphiprog
|
Oh là là ZerocOOl, ici ça cause Delphi mon ami  . Pas le C++, ok ? Aurais-tu attrapé un coup de chaleur ?
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
|
|
mardi 16 août 2005 à 06:07:36 |
Re : vérifier si adresse mémoire valide

Zeroc00l
|
ah oui pas bool mais boolean ...
et je suis pas sur mais on peut faire des methodes statique en delphi ?
Je crois que oui
Et OUI effectivement je suis passé a borland c++
Trop besoin des templates ...
-={[ Zeroc00l ]}=-
|
|
mardi 16 août 2005 à 11:06:59 |
Re : vérifier si adresse mémoire valide

neodelphi
|
Lol, c'est vrai que les templates c'est pratiques, voir très très pratique ! Sinon l'idée est pas mal, même si c'est peut-être long à mettre en place (surtout pour modifier un programme). Cependant tu peut toujours vérifier si tes adresses contiennent bien quelque chose de cohérent à l'aide des watch du débugger.
neodelphi
|
|
lundi 22 août 2005 à 09:47:34 |
Re : vérifier si adresse mémoire valide

Delphiprog
|
Zerocool : si tu avais vraiment besoin des templates au point de passer à C++  , sans doute n'avais-tu pas lu cet article : Templates in Object Pascal 
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
|
|
Cette discussion est classée dans : vérifier, adresse, valide, mémoire
Répondre à ce message
Sujets en rapport avec ce message
Lire adresse précise en mémoire [ par christophedlr ]
Bonjour à tous, Je voudrais savoir si il est possible de lire directement la mémoire, a des endroits précis ?
adresse internet valide ? [ par LREP ]
Bonjour à tous,Je reprend une question posée par :f0xi le 27/11/2005 20:20:37 à savoir :"comment tester une adresse internet" afin de savoir si elle e
conversion adresse mémoire [ par PHIL63 ]
Bonjour à tous,J'ai une question peut être bête mais après avoir bien cherché je ne trouve rien qui me mette sur la voie... donc...j'ai une adresse mé
vérifier adresse IP [ par benabdouinf ]
Bonjour, Je voudrais vérifier dans un champ (edit) si une adresse IP avec masque est valide ou pas. J'ai trouvé le code de validation d'une adresse
GLFont et adresse mémoire [ par lp0683 ]
Bonsoir à tous,bon je vais essayé d'être claire en cette heure tardive ...J'essaye un peu par tout les moyens d'afficher du texte sous OpenGL. J'ai tr
Recuprer l'adresse complet d'un noeud enfant TREEVIEW [ par bazbazus ]
salut a tous je suis entraint de creer un registre à distance et je veut recuprer ladresse d'un noeud enfant dans un TREEVIEW exemple HKEY_LOCAL_MACHI
taille mémoire d'un tableau dynamique de string [ par ni69 ]
Bonjour,Est-il possible de connaître exactement la taille mémoire occupée par un tableau dynamique de string ?J'ai cherché un bon moment sans rien tro
Execution Delphi 2009 [ par kebabia ]
Violation d'acces a l adresse 00000000. lecture de l'adresse 00000000. le voici ce que je recoi comme message d'erreur a l'excution system vista home
creation d'une plage d'adresse IP [ par daysara21 ]
salut si vous pouvez m'aider comment creer une plage des adresse ip dans un reseau local j'ai utilisé un listeview et imageliste (des ordinateurs) com
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|