Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Access Violation bei öffnen der seriellen (https://www.delphipraxis.net/3374-access-violation-bei-oeffnen-der-seriellen.html)

Daniel B 9. Mär 2003 11:24


Access Violation bei öffnen der seriellen
 
Hallöchen,

siehe Anhang, diese Meldung erhalte ich wenn ich versuch den ComPort zu öffnen.
Delphi-Quellcode:
procedure TDataModule1.OpenComPort;
begin
  case DatenFormat of
    0: begin
         if ComPort1.Connected then
         begin
           ComPort1.Close;
         end
         else
         begin
           ComPort1.Port := CPPort;
           ComPort1.CustomBaudRate := StrToInt(CPBaud);
           ComPort1.DataBits := dbEight;
           ComPort1.Parity.Bits := prNone;
           ComPort1.StopBits := sbOneStopBit;
           ComPort1.FlowControl.FlowControl := fcNone;
           ComPort1.Open;
         end; //if
       end; //begin
    1: begin
         if ComPort1.Connected then
         begin
           ComPort1.Close;
         end
         else
         begin
           ComPort1.Port := CPPort;
           ComPort1.CustomBaudRate := StrToInt(CPBaud);
           ComPort1.DataBits := dbEight;
           ComPort1.Parity.Bits := prNone;
           ComPort1.StopBits := sbOneStopBit;
           ComPort1.FlowControl.FlowControl := fcNone;
           ComPort1.Open;
         end; //if
       end; //begin
    2: begin
         if ComPort1.Connected then
         begin
           ComPort1.Close;
         end
         else
         begin
           ComPort1.Port := CPPort;
           ComPort1.CustomBaudRate := StrToInt(CPBaud);
           ComPort1.DataBits := dbEight;
           ComPort1.Parity.Bits := prNone;
           ComPort1.StopBits := sbOneStopBit;
           ComPort1.FlowControl.FlowControl := fcHardware;
           ComPort1.Open;
         end; //if
       end; //begin
  end; //case
end;
Der Index 2. Das Problem tritt in der ersten Zeile auf, wo das Wort ComPort1.Irgendwas vorkommt. Das if habe ich erst nachträglich eingebaut. Hat aber auch nichts gebracht. Die Prozedure wird im OnShow des Hauptformulares aufgerufen. Die Prozedur selbst ist aber in einer externen Unit, also im DatenModule1.

Irgend welche Ideen?

Grüsse, Daniel :hi:

Daniel B 9. Mär 2003 12:47

Hallo,

so, nach langem Kampf, habe ich es geschafft. Das Problem war, das DatenModule wurde nicht Initialisiert.
Dies habe ich durch folgende Code in der .dpr geändert und siehe da, es geht. :hello:
Delphi-Quellcode:
  DataModule1 := TDataModule1.Create(Application);
Bei den Uses natürlich noch die entsprechende Unit.

Grüsse, Daniel :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 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