![]() |
Kann nur in "Mode $M+' kompilieren?
Was ist denn das nu schon wieder?
Main:
Delphi-Quellcode:
Analysis:
unit Main;
{$mode objfpc}{$H+} interface uses Classes, SysUtils, db, dbf, FileUtil, Forms, Controls, Graphics, Dialogs, DBGrids, DbCtrls, StdCtrls, analysis; type { TFormMain } TFormMain = class(TForm) Button1: TButton; Button2: TButton; Datasource1: TDatasource; Dbf1: TDbf; DBGrid1: TDBGrid; DBNavigator1: TDBNavigator; Memo1: TMemo; Analyzer : TAnalyzer; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { private declarations } public { public declarations } end; ...
Delphi-Quellcode:
Fehlermeldung
unit analysis;
{$mode objfpc}{$H+} interface uses Classes, SysUtils; type TAnalyzer = Class //Hier testweise mal alles leer gelassen, gleicher Fehler //Fehler kommt aber auch mit deklarationen wie FExist : Boolean, egal ob unter Private, Public oder direkt nach Class end; implementation "main.pas(24,5) Error: Only classes which are compiled in $M+ mode can be published" |
AW: Kann nur in "Mode $M+' kompilieren?
Dein Objekt der Klasse TAnalyser ist published:
Delphi-Quellcode:
Um das Problem zu beheben müsstest du das Objekt "Analyser" als private, protected oder public deklarieren:
TFormMain = class(TForm)
Button1: TButton; ... Analyzer : TAnalyzer; // imlizit published; ist hier am falschen Platz
Delphi-Quellcode:
TFormMain = class(TForm)
Button1: TButton; ... private FAnalyzer : TAnalyzer; // |
AW: Kann nur in "Mode $M+' kompilieren?
Ach mist, da hatte ich das Problem gar nicht gesucht. Jetzt ises klar, Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz