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 19-02-2009
Avatar de dmassive
dmassive dmassive is offline
Miembro
 
Registrado: mar 2004
Ubicación: Paraná - Argentina
Posts: 60
Poder: 21
dmassive Va por buen camino
Question Savedialog Access Violation

Buenos Dias!

Estoy haciendo algunas cosas con Delphi 7 y cuando quiero ejecutar un SaveDialog me da Access Violation:


No encuentro como solucionarlo, asi que adjunto los archivos del proyecto, que solo tiene un Formulario con un TBitBtn y lo demas va por codigo:

unitexterna2.dpr
Código Delphi [-]
program unitexterna2;

uses
  Forms,
  UnitMain in 'UnitMain.pas' {FormMain},
  UnitAccion in 'UnitAccion.pas';

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TFormMain, FormMain);
  Application.Run;
end.

UnitMain.pas
Código Delphi [-]
unit UnitMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TFormMain = class(TForm)
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormMain: TFormMain;

implementation

Uses UnitAccion;

{$R *.dfm}

procedure TFormMain.BitBtn1Click(Sender: TObject);
Var
   Accion : TClaseAccion;
begin
     Accion := TClaseAccion.Create;
     Accion.hacelo;
end;

end.

UnitAccion.pas
Código Delphi [-]
unit UnitAccion;

interface

Uses Dialogs;

type
    TClaseAccion = class
         SaveDialog1 : TSaveDialog;
         procedure hacelo;
    end;
    
implementation

procedure TClaseAccion.hacelo;
var
   URL : string;
begin
     URL := InputBox('Ir a URL', 'Ingrese URL completa', '');
     if URL = '' then Exit;

     if not SaveDialog1.Execute then Exit;
end;

end.

Al momento de llamar "SaveDialog1.Execute" salta la ecepcion, ¿Que estara pasando?

Muchas Gracias!
__________________
"It's nice to be important, but it's more important to be nice"
Responder Con Cita
  #2  
Antiguo 19-02-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A simple vista parece que no estás creando el objeto. La variable "SaveDialog1" es del tipo que tú necesitas, pero, no la inicializas, no contiene una instancia de la clase "TSaveDialog", y así, cuando tratas de usarla, no es posible. La solución pasa por crear el objeto de la clase "TSaveDialog" en la variable "SaveDialog1". Puedes hacerlo en el mismo método "hacelo()", o bien utilizar un método "constructor" en la clase "TClaseAccion". No sé cómo lo ves.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 19-02-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola, lo mismo digo yo, te falta la creación de tu objeto SaveDialog1.

Código Delphi [-]
 SaveDialog1 := TSaveDialog.Create(Self);

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 19-02-2009
Avatar de dmassive
dmassive dmassive is offline
Miembro
 
Registrado: mar 2004
Ubicación: Paraná - Argentina
Posts: 60
Poder: 21
dmassive Va por buen camino
Thumbs up

Gracias! Efectivamente era eso, pero como no me dejaba hacer (self) lo habia descartado, asi que queda asi:
Código Delphi [-]
SaveDialog1 := TSaveDialog.Create(nil);
__________________
"It's nice to be important, but it's more important to be nice"
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
Access violation con una DLL de C johan Varios 3 15-11-2007 15:45:40
Access Violation con DLL emeceuy Varios 8 17-08-2007 21:57:55
access violation chona Varios 2 31-10-2006 01:36:04
Access violation at .... Perio Varios 5 07-02-2006 15:50:36
Access violation Giasl Varios 6 07-05-2003 12:35:51


La franja horaria es GMT +2. Ahora son las 01:57:41.


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