Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi EAccess Violation Fehler (https://www.delphipraxis.net/37020-eaccess-violation-fehler.html)

Grolle 29. Dez 2004 18:22


EAccess Violation Fehler
 
Code:
procedure TForm4.Button1Click(Sender: TObject);
var e1, e2, e3, e4, e5, e6, e7, e8, e9 : string;
begin
  e1 := Edit2.Text;
  e2 := Edit9.Text;
  e3 := Edit3.Text;
  e4 := Edit4.Text;
  e5 := Edit5.Text;
  e6 := Edit1.Text;
  e7 := Edit6.Text;
  e8 := Edit7.Text;
  e9 := Edit8.Text;
  begin
    Form2.SynEdit1.SelText := 'Text...';
  end;

end;
Versuche auf ein Synedit in einem anderen Formular zuzugreifen
und bekomme dann die Fehlermeldung: EAccess Violation Fehler
Unit ist eingebunden.
Was luft da schief? :gruebel:
Grolle

Muetze1 29. Dez 2004 18:24

Re: EAccess Violation Fehler
 
Moin!

Form2 existiert noch nicht zu dem Zeitpunkt wo du drauf zugreifst bzw. die Variable "Form2" enthält nicht die Instanz.

MfG
Muetze1

Grolle 29. Dez 2004 18:30

Re: EAccess Violation Fehler
 
Hi!
Form 4 wird über Form 2 aufgerufen (existiert also vorher) :wiejetzt:
HIIIIIIIIILLLLLLLLLLLFFFFFFFFFFFFEEEEEEEEEEEEEE
Grolle

Muetze1 29. Dez 2004 18:32

Re: EAccess Violation Fehler
 
Moin!

Zitat:

Zitat von Grolle
Hi!
Form 4 wird über Form 2 aufgerufen (existiert also vorher) :wiejetzt:
HIIIIIIIIILLLLLLLLLLLFFFFFFFFFFFFEEEEEEEEEEEEEE
Grolle

Ja, aber befindet sich die Instanz auch in der Variablen Form2? Wie legst du denn die TForm2 Instanz an?

MfG
Muetze1

Grolle 29. Dez 2004 18:37

Re: EAccess Violation Fehler
 
Tut mir leid, ich kann dir nicht ganz folgen. Bin noch
blutiger Anfänger....
Viele Grüße: Grolle

kiar 29. Dez 2004 18:44

Re: EAccess Violation Fehler
 
zeige doch mal den interface abschnitt deiner form4,


raik

Grolle 29. Dez 2004 18:48

Re: EAccess Violation Fehler
 
Hier mal die ganze Unit.
Der Interface abschnitt ist leer :(
Code:
unit Unit4;

interface

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

type
  TForm4 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    ColorDialog1: TColorDialog;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn1: TBitBtn;
    Label7: TLabel;
    Label8: TLabel;
    Edit6: TEdit;
    Label9: TLabel;
    Edit7: TEdit;
    Label10: TLabel;
    Edit8: TEdit;
    Label11: TLabel;
    Edit9: TEdit;
    BitBtn5: TBitBtn;
    Button1: TButton;
    Button2: TButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form4: TForm4;

implementation

uses Unit2;

{$R *.DFM}

procedure TForm4.BitBtn1Click(Sender: TObject);
var
  farbe: TColor;
  ergebnis: String;
begin
  if ColorDialog1.Execute then
    farbe := ColorDialog1.Color;

  ergebnis :=  IntToHex(GetRValue(farbe),2) // Rot-Wert (0..255)
                                              // in Hex umwandeln
                                              // mit min. 2 Zeichen
              + IntToHex(GetGValue(farbe),2) // usw...
              + IntToHex(GetBValue(farbe),2);

  Edit2.Text := '#'+(ergebnis);
end;

procedure TForm4.BitBtn2Click(Sender: TObject);
var
  farbe: TColor;
  ergebnis: String;
begin
  if ColorDialog1.Execute then
    farbe := ColorDialog1.Color;

  ergebnis :=  IntToHex(GetRValue(farbe),2) // Rot-Wert (0..255)
                                              // in Hex umwandeln
                                              // mit min. 2 Zeichen
              + IntToHex(GetGValue(farbe),2) // usw...
              + IntToHex(GetBValue(farbe),2);

  Edit3.Text := '#'+(ergebnis);
end;

procedure TForm4.BitBtn3Click(Sender: TObject);
var
  farbe: TColor;
  ergebnis: String;
begin
  if ColorDialog1.Execute then
    farbe := ColorDialog1.Color;

  ergebnis :=  IntToHex(GetRValue(farbe),2) // Rot-Wert (0..255)
                                              // in Hex umwandeln
                                              // mit min. 2 Zeichen
              + IntToHex(GetGValue(farbe),2) // usw...
              + IntToHex(GetBValue(farbe),2);

  Edit4.Text := '#'+(ergebnis);
end;

procedure TForm4.BitBtn4Click(Sender: TObject);
var
  farbe: TColor;
  ergebnis: String;
begin
  if ColorDialog1.Execute then
    farbe := ColorDialog1.Color;

  ergebnis :=  IntToHex(GetRValue(farbe),2) // Rot-Wert (0..255)
                                              // in Hex umwandeln
                                              // mit min. 2 Zeichen
              + IntToHex(GetGValue(farbe),2) // usw...
              + IntToHex(GetBValue(farbe),2);

  Edit5.Text := '#'+(ergebnis);
end;

procedure TForm4.BitBtn5Click(Sender: TObject);
var
  farbe: TColor;
  ergebnis: String;
begin
  if ColorDialog1.Execute then
    farbe := ColorDialog1.Color;

  ergebnis :=  IntToHex(GetRValue(farbe),2) // Rot-Wert (0..255)
                                              // in Hex umwandeln
                                              // mit min. 2 Zeichen
              + IntToHex(GetGValue(farbe),2) // usw...
              + IntToHex(GetBValue(farbe),2);

  Edit9.Text := '#'+(ergebnis);
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
  Form4.Close
end;

procedure TForm4.Button1Click(Sender: TObject);
var e1, e2, e3, e4, e5, e6, e7, e8, e9 : string;
begin
  e1 := Edit2.Text;
  e2 := Edit9.Text;
  e3 := Edit3.Text;
  e4 := Edit4.Text;
  e5 := Edit5.Text;
  e6 := Edit1.Text;
  e7 := Edit6.Text;
  e8 := Edit7.Text;
  e9 := Edit8.Text;
  begin
    Form2.SynEdit1.SelText := 'Text';
  end;

end;

end.
Grolle

Neutral General 29. Dez 2004 18:51

Re: EAccess Violation Fehler
 
Zitat:

Zitat von Grolle
Code:
procedure TForm4.Button1Click(Sender: TObject);
var e1, e2, e3, e4, e5, e6, e7, e8, e9 : string;
begin
  e1 := Edit2.Text;
  e2 := Edit9.Text;
  e3 := Edit3.Text;
  e4 := Edit4.Text;
  e5 := Edit5.Text;
  e6 := Edit1.Text;
  e7 := Edit6.Text;
  e8 := Edit7.Text;
  e9 := Edit8.Text;
  begin // was solln das begin hier ?             
    Form2.SynEdit1.SelText := 'Text...';
  end; // und das end; ?

end;

Wofür sind denn das begin und das end; vor und nach Form2.SynEdit1.SelText := 'Text...'; ?

Grolle 29. Dez 2004 19:01

Re: EAccess Violation Fehler
 
Das ist ja alles noch nicht so fertig. Über die Variablen sollen die verschiedenen
Edit Felder aufgerufen und dann in dem synedit aufgezeigt werden.
wie gesagt: bin Anfänger
Grolle

Muetze1 29. Dez 2004 23:34

Re: EAccess Violation Fehler
 
Moin!

Ich zitiere mich mal selber...

Zitat:

Zitat von Muetze1
Wie legst du denn die TForm2 Instanz an?

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz