Erreur de compilation

Utilisateur anonyme - 26 janv. 2006 à 09:50
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 27 janv. 2006 à 19:50
Salut à tous

quand je cherche à compiler mon projet j'ai une erreur
method identified excepted au niveau du with .... do

voila la procedure :

procedure envois (jpg:TJPEGImage);
var
memstream : Tmemorystream;
begin
jpg.SaveToStream(memstream);
jpg.free;
try
with Tform1.ServerSocket1
do
begin
openwritebuffer;
writestream(memstream);
closewritebuffer;
memstream.free;
end;
except
end;

Merci de votre aide

11 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
26 janv. 2006 à 11:24
Salut,
tu as oublier de crée le MemoryStream :

Begin
MemStream := TMemoryStream.create;
Try
......


@+
Cirec
0
Utilisateur anonyme
26 janv. 2006 à 11:43
Salut

j'ai tjs le probleme :

procedure Ecran(jpg:TJPEGImage) ;
Var
MemStream : TMemoryStream;
jpg:=TJPEGImage;
bmp:=Tbitmap;
begin
jpg:=TJPEGImage.create;
jpg.assign(bmp);
img.free;
memstream := TMemoryStream.Create;
jpg.SaveToStream(memstream);
jpg.free;
try
with ServerSocket1.Server do
do
begin
openwritebuffer;
writestream(memstream);
closewritebuffer;
memstream.free;
end;
except
end;
end.

Merci
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
26 janv. 2006 à 11:47
with ServerSocket1.Server do
do

tu as un double do c'est peut être ça non ou c'est juste une erreur de copie ?



@+
Ci
0
Utilisateur anonyme
26 janv. 2006 à 12:05
C'est une erreur de copie excuse moi.

Le probleme du with .. do est reglé mais pas totalement en effet les lignes suivantes posent probleme :

begin
openwritebuffer;
writestream(memstream);
closewritebuffer;
memstream.free;

undeclared identifier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
26 janv. 2006 à 13:22
Le curseur devrait s'arreter sur la ligne même qui pose problème c'est le quel des 3 qui est un Identifiant non Déclarer (d'après le compilateur)



@+
Cirec
0
Utilisateur anonyme
26 janv. 2006 à 14:13
bien les 3 (je les ai supprimé les uns apres les autres)
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
26 janv. 2006 à 14:57
ah, le ServerSocket1 c'est quoi exactement comme Composant ?
d'après mes premières recherches openwritebuffer, writestream et CloseWritebuffer ne donne rien de bien interressant



@+
Cirec
0
Utilisateur anonyme
26 janv. 2006 à 15:51
C'est un composant Tsocket
0
WhiteHippo Messages postés 1154 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 5 avril 2012 3
26 janv. 2006 à 22:58
Il me semble que ces méthodes sont liées au composant Indy TIdTCPConnection.
Pour plus de détails, voir :
http://www.indyproject.org/Sockets/Docs/index.en.html
et plus précisemment la version 9 :
http://www.projectindy.org/downloads/Indy-9-0-Help-WinHelp.zip

Cordialement.


<HR>
Il existe 10 catégories de personne. Ceux qui connaissent le binaire et les autres...
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 janv. 2006 à 19:46
Tu fais appel à ServerSocket1 à l'intérieur d'une simple procédure et non d'une méthode de la fiche qui supporte le composant. Dans ce cas, tu dois préciser le nom de la fiche :
with TForm1.ServerSocket do ...

<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 janv. 2006 à 19:50
Un petit conseil : au lieu de faire appel au composant TMachin sur le fiche TBidule, ajoute un TServerSocket en paramètre de ta procédure Envois :
procedure Envois(jpg:TJPEGImage; ServerSocket: TServerSocket);

et dans ton code, fais directement référence comme ceci :
with ServerSocket.Server do ...
Ainsi, tu réduis la dépendance de ta procédure.
<hr color="#008000">Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
Rejoignez-nous