Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-01-2013
Pedrote Pedrote is offline
Miembro
 
Registrado: dic 2007
Posts: 35
Poder: 0
Pedrote Va por buen camino
Problema con la Label en este código

Código:
procedure TForm1.Button3Click(Sender: TObject);
var
  HttpResult: boolean;
  manufacturers_es, manufacturers, media, Res, URLData: String ;
  respuesta: TStringList;
begin
  if test then
  begin
    if ConnDBEjActual then
    begin
      // Limpiamos el label
      Label1.Caption := '';
      if MessageDlg('Advertencia', AdvMsg, mtConfirmation, [mbYes, mbNo] ,0) = mrYes then
      begin
        Label1.Caption := 'En proceso .... espere';
        // Desactivamos el resto de operaciones que puede realizar el usuario
        Button1.Enabled := False;
        Button2.Enabled := False;
        // Exportamos los datos en xml
        SQLQuery1.SQL.Text := 'SELECT ' +
                              'ROW_NUMBER() OVER(ORDER BY codigo) AS virtuemart_manufacturer_id, ' +
                              'LTRIM(RTRIM(NOMBRE)) AS mf_name, ' +
                              ''''' AS mf_email, ' +
                              ''''' AS mf_desc, ' +
                              ''''' AS mf_url ' +
                              'FROM ['+ MSSQLConnection1.DatabaseName +'].[dbo].[marcas] '+
                              'FOR XML RAW';
        SQLQuery1.Open;
        while not SQLQuery1.EOF do
        begin
          manufacturers_es := manufacturers_es+ SQLQuery1.Fields[0].AsString;
          SQLQuery1.Next;
        end;
        SQLQuery1.Close;
        SQLQuery1.SQL.Text := 'SELECT ' +
                              ''''' AS virtuemart_manufacturer_id, ' +
                              //'ROW_NUMBER() OVER(ORDER BY codigo) AS virtuemart_manufacturer_id, ' +
                              ''''' AS virtuemart_manufacturercategories_id, ' +
                              ''''' AS hits, ' +
                              '''1'' AS published, ' +
                              ''''' AS created_on, ' +
                              ''''' AS created_by, ' +
                              ''''' AS modified_on, ' +
                              ''''' AS modified_by, ' +
                              ''''' AS locked_on, ' +
                              ''''' AS locked_by ' +
                              'FROM ['+ MSSQLConnection1.DatabaseName +'].[dbo].[marcas] '+
                              'FOR XML RAW';
        SQLQuery1.Open;
        while not SQLQuery1.EOF do
        begin
          manufacturers := manufacturers + SQLQuery1.Fields[0].AsString;
          SQLQuery1.Next;
        end;
        SQLQuery1.Close;
        SQLQuery1.SQL.Text := 'SELECT ' +
                              // Obtenemos el nombre de fichero
                              'CASE ' +
                              'WHEN REVERSE(SUBSTRING(REVERSE(foto), 0, CHARINDEX(''\'', REVERSE(foto), 1))) != '''' THEN ' +
                                    '''images/stories/virtuemart/manufacturer/'' +' +
                                    'RTRIM(REVERSE(SUBSTRING(REVERSE(foto), 0, CHARINDEX(''\'', REVERSE(foto), 1)))) ' +
                              'ELSE ' +
                                    ''''' ' +
                              'END ' +
                              'AS file_url, ' +
                              'codigo AS slug ' +
                              'FROM ['+ MSSQLConnection1.DatabaseName +'].[dbo].[marcas] '+
                              'ORDER BY codigo ' +
                              'FOR XML RAW';
        SQLQuery1.Open;
        while not SQLQuery1.EOF do
        begin
          media := media + SQLQuery1.Fields[0].AsString;
          SQLQuery1.Next;
        end;
        SQLQuery1.Close;
        MSSQLConnection1.Connected := False;
        // QUIZÁS HAYA QUE REVISAR SI EL SERVIDOR SIGUE EN PIE (NO IMPLEMENTADO)
        // Mandamos los datos en formato xml al servidor
        HTTP := THTTPSend.Create;
        respuesta := TStringList.Create;
        URLData := 'a=marcas&';
        URLData := URLData + '&k=' + id + '&';
        URLData := URLData + '&p=' + App + '&';
        URLData := URLData + '&v=' + IntToStr(Version) + '&';
        URLData := URLData + '&f=' + MD5Print(MD5File(ParamStr(0))) + '&';
        URLData := URLData + 't1=' +  manufacturers + '&';
        URLData := URLData + '&ft1=' + MD5Print(MD5String(manufacturers)) + '&';
        URLData := URLData + '&t2=' + manufacturers_es + '&';
        URLData := URLData + '&ft2=' + MD5Print(MD5String(manufacturers_es)) + '&';
        URLData := URLData + '&t3=' + media + '&';
        URLData := URLData + '&ft3=' + MD5Print(MD5String(media)) + '&';
        HTTP.Document.Write(Pointer(URLData)^, Length(URLData));
        HTTP.MimeType := 'application/x-www-form-urlencoded';
        HttpResult := HTTP.HTTPMethod('POST', UrlSrv);
        //ShowMessage(URLData);
        if HttpResult then
        begin
          respuesta.LoadFromStream(HTTP.Document);
          Res := trim(respuesta.Text);
          respuesta.Free;
          //ShowMessage(Res);
          // Si todo ha ido bien subimos las fotos
          if Res = 'ok' then
          begin
            if SubirFotos(GetValIni('GENERAL', 'DirImgsMarcas'), '\*', GetValIni('FTP', 'DirImgsMarcas'), GetValIni('GENERAL', 'ImgsMarcasFecha')) then
            begin
              Label1.Caption := 'Marcas actualizadas correctamente';
            end
            else
            begin
              Label1.Caption := 'Se produjo un error al subir las fotos de las marcas, póngase en contacto con nosotros.';
            end;
          end
          else
          begin
            Label1.Caption := Res;
          end;
        end
        else
        begin
          Label1.Caption := 'No se ha podido conectar con el servidor, así que ha ' +
          'sido imposible actualizar las marcas';
        end;
        HTTP.Free;
        Button1.Enabled := True;
        Button2.Enabled := True;
      end;
    end;
  end;
end;
Cuándo termine de programar el procedimiento anterior y viendo que todo funcionaba correctamente me puse a comentar todas aquellas líneas que usaba para debugear, bien pues exactamente cuándo comente la línea " //ShowMessage(Res);" (esta línea me devuelve lo que vuelca php al procesarse el formulario que estoy mandando con Lazarus) dejó de funcionar lo correspondiente a estos dos label:

Uno es este:
Código:
 // Limpiamos el label
      Label1.Caption := '';
Y otro este:
Código:
Label1.Caption := 'En proceso .... espere';
Sin embargo el resto de Labels si los hace de forma correcta, puesto que cuando termina de ejecutarse el procedimiento y todo ha ido bien si muestra el mensaje "Marcas actualizadas correctamente".

Mencionar que al siguiente "if MessageDlg('Advertencia', AdvMsg, mtConfirmation, [mbYes, mbNo] ,0) = mrYes then" entra correctamente.

¿Cuál puede ser el problema es que por muchas vueltas que le doy no doy con el?¿Y la posible solución?. Gracias a todos de antemano.
Responder Con Cita
 



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
Label que este encima de todos los demas componentes jourdan OOP 4 23-07-2010 20:35:05
Porque este código me da error (adjunto código) David JAVA 1 12-03-2009 20:07:27
Cual es el problema con este codigo? THACKER Varios 10 03-03-2009 09:59:42
problema envio de label anubis Varios 2 09-05-2007 21:05:58
Problemas al imprimir label con código josevaldez Impresión 0 31-01-2006 22:30:34


La franja horaria es GMT +2. Ahora son las 12:07:05.


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