Einzelnen Beitrag anzeigen

MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
532 Beiträge
 
Delphi 10.3 Rio
 
#17

AW: ständige Fehlermeldung

  Alt 26. Feb 2017, 17:46
Die Main Methode versteckt sich im Programm (Project-> View Source oder Project Manager -> Executable anlicken und dann Ctrl + V. Dann siehst due eine Unit mit

program Programmname

Die Parameter wären in ParamCount und ParamStr versteckt.

Je nachdem ob du ein Windows Programm mit Fenstern oder eine Konsolenanwendung schreibst entsteht ein wenig ein anderes Programm und doch nicht.

{$APPTYPE CONSOLE}

Windows unterscheidet im PE Header in welchem Subsystem eine Anwendung läuft.


Du kannst aber genauso das Application Objekt aus einer Console Application heraus benutzen, die das Objekt wird wird in InitControls in (Vcl.Controls) in der Initialization Section aufgerufen und dabei wird ein Globales Objekt gesetzt. Die Unit muss aber eingebunden werden (über VCL.Forms).

Zu dem Themenkreis passt auch noch AttachConsole - findest du tonnenweise Beispiele.

---

In Freepascal je nach Sprachtyp (Slang) musst du sowieso bspw. Klassen in Module auslagern.

Ich würde schon Klassen in Module auslagern und nur 'Friend Klassen' in das selbe Modul geben, denn Klassen in einem Modul können auf die (fast) alle Member anderer Klassen zugreifen. Außer du verwendest bspw. strict private.



Die Aussage mit Java ist so zu verstehen, dass ich fürs Studium mit JAva programmieren muss und Delphi jedoch einfacher vom Programmieren her finde.
In Java erstellt man Klassen ganz einfach in einer Klassendatei und greift dann von der Mainmethode darauf zu. Da dass in Delphi in eienr Datei anscheinend geht, habe ich wahrscheinlich damit Probleme.
Zitat:
Eine solche Meldung ist m.E. ein Hinweis, daß auf ein nichtexistentes Objekt zugegriffen versucht wird.

Da wird eine andere Programmiersprache auch einen solchen Fehler nicht verhindern können, bestenfalls ließe sich der Hinweis unterdrücken. Aber eine fehlende = nichtexistente Meldung hilft ja auch nicht ("wirklich") weiter.
Danke daran hat es gelegen. Es ist halt ein bisschen anders als in Java.
  Mit Zitat antworten Zitat