Hola
Segun lo que entiendo y que me corrija
ioco OUT indica que las variables traspasan el procedimiento.
Para que este procedimiento funcione se tiene que tratar casi como una funcion.
Hay que declarar el procedimiento completo, donde estan los otros asi:
Código Delphi
[-]
procedure suma1;
procedure suma2(num1,num2,sumado: String; OUT x: String; OUT b: Boolean);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
Colocas las variables globales:
Código Delphi
[-]
var
Form1: TForm1;
x: String;
b: boolean;
implementation
Luego haces el procedimiento de
ioco, asi:
Código Delphi
[-]
Procedure TForm1.suma2(num1,num2,sumado: String; OUT x: String; OUT b: Boolean);
begin
If StrToFloat(num1)+StrToFloat(num2)=StrToFloat(sumado) then
begin
x:= sumado;
b:= true;
end
else
b:= false;
end;
Y luego lo llamas asi:
Código Delphi
[-]
procedure TForm1.Button3Click(Sender: TObject);
begin
suma2(Edit2.Text,edit3.Text,edit1.Text,x,b);
If b = True then
Showmessage('El resultado es ' + x);
end;
Como ves, en vez de que sea el procedimiento el que contenga los datos, es al llamarlo que se los indicas.
Saludos