Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Hilfe!!! Delphi 6/7 Compiler Fehler??? (https://www.delphipraxis.net/194649-hilfe-delphi-6-7-compiler-fehler.html)

iphi 17. Dez 2017 12:55

Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Hallo,

im folgenden ein einfacher und kurzer Code, der bei mir sowohl unter D6 als auch unter D7 eine Access Violation produziert, wenn man den KillButton drückt:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    KillButton: TButton;
    MainMenu1: TMainMenu;
    Menu: TMenuItem;
    SubMenu: TMenuItem;
    procedure KillButtonClick(Sender: TObject);
    procedure FormResize(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.KillButtonClick(Sender: TObject);
begin
SubMenu.Visible:=false;
close;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
SubMenu.Visible:=true;
end;

end.
Ich mache doch nichts böses, oder?!?
Warum dann die Access Violation in der Delphi-Unit Menus in TMenu.SetWindowHandle???

Es müssen übrigens zwei MenuItems sein, mit einem allein tritt der Fehler nicht auf. Sie müssen nicht geschachtelt sein, aber Menu muss vor Submenu kommen.

himitsu 17. Dez 2017 13:00

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Wie sieht denn die DFM aus?

Grundsätzlich ist dieser Code erstmal OK und vorallem für Delphi 7 kann ich solche Fehler nicht bestätigen.
Die Reihenfolge von SubMenu und Menü sollten auch keine Rolle spielen.


PS: https://www.embarcadero.com/de/products/delphi/starter

LTE5 17. Dez 2017 13:02

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Zweite Frage
warum kein Delphi 10.2 Starter?

iphi 17. Dez 2017 13:16

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Zitat:

Wie sieht denn die DFM aus?
Standardform mit einem Button und einem Hauptmenü mit zwei Menuitems drauf:

Delphi-Quellcode:
object Form1: TForm1
  Left = -1469
  Top = 233
  Width = 589
  Height = 291
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -13
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  Menu = MainMenu1
  OldCreateOrder = False
  OnResize = FormResize
  PixelsPerInch = 120
  TextHeight = 16
  object KillButton: TButton
    Left = 56
    Top = 32
    Width = 75
    Height = 25
    Caption = 'KillButton'
    TabOrder = 0
    OnClick = KillButtonClick
  end
  object MainMenu1: TMainMenu
    Top = 32
    object Menu1: TMenuItem
      Caption = 'Menu'
    end
    object SubMenu: TMenuItem
      Caption = 'SubMenu'
    end
  end
end
Zitat:

warum kein Delphi 10.2 Starter?
??? Ich arbeite nicht mit Delphi 10.

Ah, ich sehe das gibts kostenlos. Bisher war ich mit D7 glücklich.

Kann das Problem jemand reproduzieren oder tritt das nur bei mir auf?

samso 17. Dez 2017 13:29

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Wenn das nun so ein kurzes Testprogramm ist, könntest Du doch vielleicht das komplette Projekt hier hochladen. Dann brauchen wir das nicht per Copy&Paste neu anzulegen

LTE5 17. Dez 2017 13:32

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Zitat:

Ich arbeite nicht mit Delphi 10.
Ich hoffe du denkst nicht...
Delphi 7, Delphi 8, Delphi 9, Delphi 10. So ist nicht ;)

Delphi.Narium 17. Dez 2017 13:34

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Zitat:

Zitat von LTE5 (Beitrag 1389098)
Zweite Frage
warum kein Delphi 10.2 Starter?

Warum immer diese Frage? Kann man nicht einfach mal akzeptieren, des jemand die Delphiversion nutzt, die er hat und mit der er entwickelt?

Zum Thema:

Die DFM passt nicht zur Unit.

In der DFM gibt es u. a.
Delphi-Quellcode:
  object MainMenu1: TMainMenu
    Top = 32
    object Menu1: TMenuItem // in der Unit heißt's nur Menu
      Caption = 'Menu'
    end
    object SubMenu: TMenuItem
      Caption = 'SubMenu'
    end
in der Unit aber
Delphi-Quellcode:
MainMenu1: TMainMenu;
Menu: TMenuItem; // nicht Menu1???
SubMenu: TMenuItem;
Da ist irgendwas kaputtgegangen, bei mir meckert der Kompiler das an.

iphi 17. Dez 2017 13:55

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

könntest Du doch vielleicht das komplette Projekt hier hochladen.
Sorry, ich hatte noch nicht mitbekommen, dass das geht, Projektdateien anbei.

Zitat:

Da ist irgendwas kaputtgegangen, bei mir meckert der Kompiler das an.
Sorry, ja, ich hatte zwischen erstem und zweitem Post noch ein wenig rumexperimentiert, was man ändern darf und was nicht, daher hat das Form und der Code wohl nicht mehr zusammen gepasst.

LTE5 17. Dez 2017 14:01

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Zitat:

Sorry, ja, ich hatte zwischen erstem und zweitem Post noch ein wenig rumexperimentiert, was man ändern darf und was nicht
Klingt also danach, dass du ein Anfänger bist. Noch ein Grund mehr ein modernes Delphi zu nutzen statt dieses völlig veraltete D7.

iphi 17. Dez 2017 14:13

AW: Hilfe!!! Delphi 6/7 Compiler Fehler???
 
Zitat:

Klingt also danach, dass du ein Anfänger bist.
Kein blutiger. Ich programmiere seit 40 Jahren Pascal und seit 15 Jahren Delphi 6 und 7. Habe auch beim Meister persönlich (Nikolaus Wirth) Vorlesungen genossen. Das ist aber nicht mein Beruf sondern ein Hobby.

Mit Delphi6 bzw 7 war ich bisher glücklich. Das ist schnell, bisher stabil und verfügbar. Und ich kanns bedienen. Ich bin übrigens beileibe nicht der einzige, der D6 bzw. D7 benutzt. Das gabs damals kostenlos als Zeitungsbeilage.

P.S.
Ein Anfänger hätte den Fehler sicher nicht in 10MB Quellcode mit Multithreading und dynamischen dlls isolieren können!


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.
Seite 1 von 2  1 2      

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