AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ein Programm ohne Units schreiben

Ein Thema von Christian18 · begonnen am 24. Nov 2005 · letzter Beitrag vom 25. Nov 2005
Antwort Antwort
Seite 2 von 3     12 3      
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#11

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 17:19
@igel:

application.run ist eine Endlosschleife. Es wird erst in die nächste Zeile gesprungen wenn der User das Programm beendet hat!

Form zur Laufzeit anzeigen geht so:

Delphi-Quellcode:
program Project1;

uses
  Forms;


type
  TFenster = class(TForm)
  {private

  public}
   //brauchst du garnicht.

  end;

var
  Fenster : TFenster;

procedure Button1Click(sender:TObject);
begin
  application.terminate;
end;

{$R *.res}  //wenn du diese Zeile entfernst, verliert das Programm sein Icon.

begin
  Application.Initialize;
  Application.CreateForm(tfenster, fenster);
  fenster.caption := 'Hallo';
  application.title:='Mein erstes Programm mit Fenster'
  with tbutton.create(fenster) do
  begin
    parent := fenster;
    width := 100;
    caption := 'Klickmich!';
    onclick := Button1Click;
  end;
  Application.Run;
end.
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#12

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 17:24
hallo ichbins,

wenn ich deine variante compilieren will, dann kommt bei mir eine fehler meldung. das hatte ich nämlich auch schon mal getestet. und bei mir kam genau die gleiche fehler meldung. so und hier jetzt die fehler meldung:

Exception EResNotFound in Modul Projekt1.exe bei 00043A94.
Ressource TFenster wurde nicht gefunden.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 17:27
@ichbins

Zitat von Delphi-Hilfe:
Mit CreateForm wird ein neues Formular des Typs erstellt, der im Parameter FormClass angegeben ist. Das Formular wird dann der Variablen zugewiesen, die der Parameter Reference bezeichnet. Der Eigentümer des neuen Formulars ist des Anwendungsobjekt.

Zitat von ichbins:
application.run ist eine Endlosschleife! Es wird erst in die nächste Zeile gesprungen wenn der User das Programm beendet hat!...
Na gut, dann verschiebe das mit meinem Button halt eine Zeile weiter nach oben...

Delphi-Quellcode:
.
.
.
fenster.caption := 'Hallo';
with tbutton.create(fenster) do
begin
  parent := fenster;
  width := 100;
  caption := 'Klickmich!';
  onclick := Button1Click;
end;
application.run;
.
.
.
@christian18

Delphi schreibt normalerweise automatisch in die Resourcen-Datei Resourcen für die Fenster. Da du die aber nicht erstellt hast musst du das {*.res} da wohl weg lassen
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#14

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 17:32
hallo igel,

ich habe das jetzt auch schon weggelassen und der gleiche fehler kommt immernoch.
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#15

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 17:34
Bei mir kommen da jede Menge Fehlermeldungen.

für den Button brauche ich
stdctrls; Resnotfound heisst dass er irgendeine Ressourcendatei nicht gefunden hat. Damit meint er wahrscheinlich die dfm-Datei...

gut gemeinter Rat: vergisses

Du kannst dein Fenster ganz ohne die Forms.pas erzeugen. Das geht dann über nonVCL. da schreibst du dir dann praktisch alle Teile der forms selber. Du hast auch keine application-variable etc... Dafür ist die Datei (mit D7) nur 14 KB groß.

Im Anhang mein erster/(noch) einziger nonVCL-Versuch. Das Programm kann seine Größe ausgeben und wenn ich auf das Form klicke, verschwindet der Text (eigentlich hätte was ganz anderes passieren sollen )

@igel: sry... ich hab deinen Code nur überflogen und dabei ein paar wichtige Dinge übersehen
Angehängte Dateien
Dateityp: rar nonvcl_test_134.rar (13,0 KB, 11x aufgerufen)
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#16

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 17:41
Also wenn das alles nichts hilft, ein letzter Versuch von mir:
Delphi-Quellcode:
.
.
.
begin
  application.initialize;
  fenster := TFenster.Create(application);
  fenster.show;
.
.
.
  application.run;
end;
Delphi Denkt wenn du application.createform verwendest das du eine *.dfm Datei hättest.

@ichbins
entschuldigung akzeptiert
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#17

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 17:41
aber es muß doch auch eine andere möglichkeit geben. gibt es in allen andern programmiersprachen auch. man hat mir das ja auch als aufgabe gegeben. also muss es funktionieren. nonVCL hatte ich auch schon gedacht als ich die aufgabe bekam. dann habe ich die person angesprochen von der ich die aufbabe habe und dann sagte er das es auch anders funktioniert. er meinte ich soll eine Objektvariable aus anlegen und die dann aus der klasse TForm füllen. und das habe ich jetzt auch schon gemacht. und jetzt komme ich nicht weiter. naja wenn nochjemand was weiß, dann bitte ich um hilfe. vielen danke schon einmal im vorraus.

MFG Christian18
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#18

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 18:59
Du benötigst eigentlich nur die Windows-API, um Fenster zu erzeugen. In den Zeiten *vor* Delphi war das die einzige Möglichkeit, Windows-Applikationen zu entwickeln. Na, fast jedenfalls. Man bricht sich tierisch einen ab, aber es geht.

Ganz *ohne* Units geht es aber nicht, denn die Windows-API ist auch eine Unit, nur in Form einer DLL. Ohne fremde Hilfe (sprich: Units) kannst Du in Delphi und den meisten Programmiersprachen gar nichts anstellen, ausgenommen, im Stillen vor sich hinrechnen, da die Ein- und Ausgaberoutinen auch in einer Unit enthalten sind...

Du kannst Deinem Lehrer also spitzfindig erklären, das die Sprache 'Delphi' keine Sprachkonstrukte zum erzeugen von Fenstern beinhaltet, weswegen die Aufgabe per se nicht lösbar ist.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#19

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 19:10
Zitat von Christian18:
wie kann ich ein Programm ohne Units schreiben.
Definiere 'ohne Units'.
Soll das heißen 'ohne eigene Units', oder 'gänzlich ohne Units' (letzteres geht nicht, da der Delphi-Compiler ohne System.pas und SysInit.pas nicht arbeiten kann).
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#20

Re: Ein Programm ohne Units schreiben

  Alt 24. Nov 2005, 19:27
Zitat von NicoDE:
Zitat von Christian18:
wie kann ich ein Programm ohne Units schreiben.
Definiere 'ohne Units'.
Soll das heißen 'ohne eigene Units', oder 'gänzlich ohne Units' (letzteres geht nicht, da der Delphi-Compiler ohne System.pas und SysInit.pas nicht arbeiten kann).
ja ich meine ohne eigene units.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 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