Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-12-2011
Avatar de HombreGordo
HombreGordo HombreGordo is offline
Miembro
 
Registrado: jul 2008
Posts: 41
Poder: 0
HombreGordo Va por buen camino
Unhappy Problema con un procedure en otra unidad

Saludos, hacía mucho tiempo que no escribía por acá... jejeje, ya hasta actualicé mi IDE y todo... Aunque sigo siendo el novato de siempre con ganas de aprender! Mi problema es uno que seguramente ya ustedes habrán resuelto en sus inicios... Tengo un procedure al que le estoy pasando unos parámetros, pero al parecer no pone los valores donde debe ser cuando es llamado.

Primero que nada, hice esto porque si no luego el SetLength me da un error y el procedure parece no reaccionar.
Código Delphi [-]
type
  TStringArray = array of string;
Luego de eso... Tuve que hacer que mi procedure (para que funcionara) de esta manera.
Código Delphi [-]
procedure ParamSetToArray(s: string; aCmds: TStringArray);
var
  count, i, pos: integer;
begin
  s:=Trim(s)+' ';
  count:=CountParams(s);
  SetLength(main.arrayCommands, count+1);
  i:=0;
  pos:=AnsiPos(' ', s);
  while (count >= 0) do begin
    main.arrayCommands[i]:=Copy(s, 1, pos);
    Delete(s, 1, pos);
    pos:=AnsiPos(' ', s);
    i:=i+1;
    count:=count-1;
  end;
end;
En vez de hacer uso del aCmds que le puse, tuve que obviarlo y ponerle el que de una vez quería, pero no es la idea... la idea es que si hago uso de este procedure en otra parte, lo maneje con el que pase en los parámetros... Es decir, cuando le quiera llamar de la siguiente manera:
Código Delphi [-]
ParamSetToArray(editCmd.Text, arrayCommands);
Que deje el resultado sobre el 2ndo parámetro que se le dejó, (así he visto que funciona -por ejemplo- ProcessPath). Gracias!

ACTUALIZADO: Lo he resuelto, es que dejo la pregunta y sigo intentando a ver si doy con la solución jejeje. Reemplacé todos los "main.arrayCommands" por "aCmds" en el bloque de código. También cambié la declaración a "procedure ParamSetToArray(s: string; var aCmds: TStringArray);", me imagino que el "var aCmds" marca la diferencia.
__________________
Aprendiz de Embarcadero RAD Studio...

Última edición por HombreGordo fecha: 23-12-2011 a las 04:02:44. Razón: Resuelto!
Responder Con Cita
  #2  
Antiguo 23-12-2011
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Tarrrrrde lo veo, pero bueno, por si queda duda y para futuras referencias, he aquí un hilo en el que se habla de var, sin var, out y const (más o menos por mitad de página):

http://www.clubdelphi.com/foros/arch...p?t-67508.html
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
llamar a procedure desde otra procedure anubis Varios 23 04-03-2010 18:44:37
Alamcenar Result de storedProc desde otra unidad R0M3R0 Conexión con bases de datos 3 22-08-2008 01:32:52
Almacenando datos en una variable de otra unidad R0M3R0 OOP 11 21-08-2008 21:09:04
Acceder a un DataSet desde otra unidad SMTZ .NET 5 24-12-2005 09:01:47
Acceder a un DataSet (.NET) desde otra Unidad SMTZ .NET 9 22-10-2005 17:10:40


La franja horaria es GMT +2. Ahora son las 08:58:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi