Autor Beitrag
Martello
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Do 12.03.09 19:03 
Hallo,

meine kleinen Lern-Programme kamen bisher alle ohne "Project1" aus.
Stattdessen stand der gesamte Code jeweils in "Unit1". Auch habe ich immer nur ein Formular verwendet.

Durch irgend einen "Fehler", den ich wohl gemacht habe, existiert auf einmal neben meiner Unit1 ein
Objekt namens "Project1" und ich krieg alles nicht mehr compiliert, obwohl es zuvor sehr gut klappte.
Alles Unheil nahm seinen Anfang damit, daß ich "Form1" in "Rundern" umbenannt habe.

Leider habe ich die Arbeit nicht gesichert; es ist ja eigentlich auch nichts kaputt. Aber ich habe den Überblick verloren, bzw. bisher noch nicht so richtig gewonnen :(

Wie krieg ich denn das unnütze Project1 wieder aus meinem Programm?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
program Project1;

uses
  Forms,
  Unit1 in 'UNIT1.PAS' {Rudern};

{$R *.RES}

begin
  Application.CreateForm(TForm, Form);
  Application.Run;
end.

Bei
ausblenden Delphi-Quelltext
1:
Application.CreateForm(TForm, Form);					

meldet der Compiler "Unbekannter Bezeichner"


Gruß
Martello

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 12.03.09 19:09 
schreib mal statt form bei dem: Application.CreateForm(TForm, Form);
ein Rudern

so also: Application.CreateForm(TForm, Rudern);

lg elundril

btw: das Projekt1 wird immer angelegt, bei jedem Programm das ein Formular hat. ;-) das gibt an wieviele Formulare es im projekt gibt, usw.

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Do 12.03.09 19:22 
hatte ich inzwischen auch schon probiert....

Dann compiliert er zwar fehlerfrei, aber beim Start erscheint lediglich ein leeres graues Rechtecke in der linken oberen Schirmecke:-(

Ich hätte ja kein Problem, alles nochmal neu zu konstruieren, zum Glück ist ja der Code erhalten. Das
wäre aber nur eine andere Lehrübung. Vielleicht gelingt mir ja die Korrektur auf andere Weise; wäre auch, aber auf andere Weise lehrreich.

Martello
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 12.03.09 19:24 
öffne mal das File Unit1.dfm und sag mal was da drin steht.

lg

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Do 12.03.09 19:48 
Das Öffnen geschieht mit der Medlung: Fehler in Modul Unit1: Modul Header fehlt oder ist fehlerhaft.

Und das steht alles drin:
ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
  Left = 485
  Top = 129
  Width = 435
  Height = 300
  Caption = 'Rudern'
  Font.Color = clWindowText
  Font.Height = -13
  Font.Name = 'System'
  Font.Style = []
  Menu = MainMenu1
  PixelsPerInch = 96
  TextHeight = 16
  object TLabel
    Left = 56
    Top = 112
    Width = 4
    Height = 16
  end
  object ListBox1: TListBox
    Left = 184
    Top = 8
    Width = 209
    Height = 137
    ItemHeight = 16
    TabOrder = 0
  end
  object Edit1: TEdit
    Left = 16
    Top = 176
    Width = 377
    Height = 24
    TabOrder = 1
    Text = 'Pfadname'
  end
  object Button1: TButton
    Left = 40
    Top = 8
    Width = 105
    Height = 33
    Caption = 'Zeige_Liste'
    TabOrder = 2
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 40
    Top = 48
    Width = 105
    Height = 33
    Caption = 'Zeige_Matrix'
    TabOrder = 3
    OnClick = Button2Click
  end
  object OpenDialog1: TOpenDialog
    Filter = '*.txt|*.txt'
    Left = 40
    Top = 224
  end
  object MainMenu1: TMainMenu
    Left = 8
    Top = 224
    object Datei1: TMenuItem
      Caption = 'Datei'
      object Open1: TMenuItem
        Caption = 'Open'
        OnClick = Open1Click
      end
      object Save1: TMenuItem
        Caption = 'Save'
        OnClick = Save1Click
      end
    end
  end
  object SaveDialog1: TSaveDialog
    Left = 72
    Top = 224
  end
end

Gruß
Martello

Moderiert von user profile iconNarses: Code-Tags hinzugefügt
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 12.03.09 20:10 
Moin und :welcome: im Forum!

Wie´s aussieht, ist deine Formulardefinition beschädigt, denn das sollte etwa so anfangen:
ausblenden Quelltext
1:
object Form1: TForm1					

Wenn das fehlt, ist das mit der ungültigen-Header-Meldung klar. :nixweiss:

Scheint, als hätte Delphi beim Umbenennen des Formulars Probleme gehabt, den Quelltext anzupassen :shock: sowas passiert aber eigentlich nur, wenn man manuell Änderungen in den automatisch gepflegten Code einfügt (und selbst das kriegt die IDE normalerweise gebacken)... :gruebel:

Füg mal einen entsprechenden Header ein. Was passiert?

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Do 12.03.09 20:33 
Der Header scheint doch in Ordnung zu sein...
denn in der ersten Zeile steht

"object Rudern: TRudern"

Einmal kam die Fehlermeldung mit dem defekten Header noch, aber meistens bleibt sie beim Öffnen jetzt aus.
Das erscheint mir alles recht komisch...

Vielleicht bau' ich die Anwendung am besten nochmal ganz von vorne...




Gruß
Martello
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 12.03.09 20:51 
Moin!

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Einmal kam die Fehlermeldung mit dem defekten Header noch, aber meistens bleibt sie beim Öffnen jetzt aus.
Das erscheint mir alles recht komisch...
Meistens? :? Entweder das Projekt ist kaputt oder nicht, aber manchmal? :gruebel:

Hast du zufällig das Projekt in einen andern Ordner kopiert/verschoben und die Dateireferenzen im Projekt nicht angepasst? :nixweiss:

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Vielleicht bau' ich die Anwendung am besten nochmal ganz von vorne...
Ja, das scheint mir auch eine gute Idee zu sein. :(

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.


Zuletzt bearbeitet von Narses am Do 12.03.09 21:12, insgesamt 1-mal bearbeitet
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 12.03.09 21:10 
user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
program Project1;

uses
  Forms,
  Unit1 in 'UNIT1.PAS' {Rudern};

{$R *.RES}

begin
  Application.CreateForm(TForm, Form);
  Application.Run;
end.

Diese Datei scheint ziemlich durcheinandergekommen zu sein :(

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
program Project1;

uses
  Forms,
  Unit1 in 'UNIT1.PAS' {Rudern};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Die Initialize-Zeile fehlt auf jeden Fall (oder wurde die in einer neueren Delphi-Version in den initialization-Teil der Unit Forms gelegt?).

Was die 1er angeht: Du hast dein Formular nicht zufällig Form genannt, oder? Das wäre nämlich nicht besonders gut (und sollte eigentlich auch nicht funktionieren), da es die Klasse TForm schon gibt. Sonst setzt dort einfach den Namen deines Formulars ein - und schick beim ersten noch ein T vorraus.

Aber vielleicht wäre es wirklich am Besten, wenn du das Projekt nochmal neu zusammenbastelst.
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Do 12.03.09 21:13 
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Moin!

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Einmal kam die Fehlermeldung mit dem defekten Header noch, aber meistens bleibt sie beim Öffnen jetzt aus.
Das erscheint mir alles recht komisch...
Meistens? :? Entweder das Projekt ist kaputt oder nicht, aber [i]manchmal? :gruebel:

Hast du zufällig das Projekt in einen andern Ordner kopiert/verschoben und die Dateireferenzen im Projekt nicht angepasst? :nixweiss:

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Vielleicht bau' ich die Anwendung am besten nochmal ganz von vorne...
Ja, das scheint mir auch eine gute Idee zu sein. :(

cu
Narses


Ich hatte ein ganzes Projekt in ein neues Verzeichnis kopiert und dort weitergearbeitet.
Aber das "einfach neu machen" ist doch nicht so einfach; denn im Hintergrund passiert so viel und das wirkt auf die Eingabe in die Unit auf geistervolle Weise ein; ich blick es nicht. Meine Laune für Delphi sinkt und ich sehne mich nach TP, wo der Autor Herr dessen bleibt, was im Editor passiert.... :(

Gruß
Martello
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 12.03.09 21:20 
Moin!

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Ich hatte ein ganzes Projekt in ein neues Verzeichnis kopiert und dort weitergearbeitet.
Ha :D dachte ich´s mir doch. 8)

Wenn du sowas machst, dann musst du alle Code-Fenster in der IDE schließen, die Projektverwaltung öffnen und mit einem Doppelklick auf den Projektelementen diese neu öffnen. Grund: Irgendwie merkt sich die IDE, welche Fenster für ein Projekt offen waren und öffnet diese beim Öffnen des Projekts. Allerdings: wenn du das Projekt kopiert hast, werden die Fenster mit dem Inhalt der Dateien an der Originalposition im Dateisystem geöffnet (erkennt man am Pfad oben in der Titelleiste des IDE-Code-Fensters). :idea: Du arbeitest dann versehentlich noch mit den alten Dateien, und das führt dann zu Chaos!

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Do 12.03.09 21:23 
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Moin!

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Ich hatte ein ganzes Projekt in ein neues Verzeichnis kopiert und dort weitergearbeitet.
Ha :D dachte ich´s mir doch. 8)

Wenn du sowas machst, dann musst du alle Code-Fenster in der IDE schließen, die Projektverwaltung öffnen und mit einem Doppelklick auf den Projektelementen diese neu öffnen. Grund: Irgendwie merkt sich die IDE, welche Fenster für ein Projekt offen waren und öffnet diese beim Öffnen des Projekts. Allerdings: wenn du das Projekt kopiert hast, werden die Fenster mit dem Inhalt der Dateien an der Originalposition im Dateisystem geöffnet (erkennt man am Pfad oben in der Titelleiste des IDE-Code-Fensters). :idea: Du arbeitest dann versehentlich noch mit den alten Dateien, und das führt dann zu Chaos!

Dieses "irgendwie" nennt sich Projekt-Desktop, und ist meiner Meinung nach eine sehr gute Erfindung, wenn man weiß was man tut ;)

Falls du wirklich mal mal ein Projekt in ein neues Verzeichnis umziehen möchtest:
Delphi Schließen -> Projekt mit allen Dateien verschieben -> Wichtig: *.dsk Datei löschen! Hier wird gespeichert, welche Fenster offen waren, und diese zeigen somit u.U. auf den alten Pfad -> Projekt wieder öffnen. Fertig.

_________________
PROGRAMMER: A device for converting coffee into software.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 12.03.09 21:27 
Moin!

user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
Dieses "irgendwie" nennt sich Projekt-Desktop
Stimmt, das meinte ich. :P

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Do 12.03.09 21:40 
user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconNarses hat folgendes geschrieben Zum zitierten Posting springen:
Moin!

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Ich hatte ein ganzes Projekt in ein neues Verzeichnis kopiert und dort weitergearbeitet.
Ha :D dachte ich´s mir doch. 8)

Wenn du sowas machst, dann musst du alle Code-Fenster in der IDE schließen, die Projektverwaltung öffnen und mit einem Doppelklick auf den Projektelementen diese neu öffnen. Grund: Irgendwie merkt sich die IDE, welche Fenster für ein Projekt offen waren und öffnet diese beim Öffnen des Projekts. Allerdings: wenn du das Projekt kopiert hast, werden die Fenster mit dem Inhalt der Dateien an der Originalposition im Dateisystem geöffnet (erkennt man am Pfad oben in der Titelleiste des IDE-Code-Fensters). :idea: Du arbeitest dann versehentlich noch mit den alten Dateien, und das führt dann zu Chaos!

Dieses "irgendwie" nennt sich Projekt-Desktop, und ist meiner Meinung nach eine sehr gute Erfindung, wenn man weiß was man tut ;)

Falls du wirklich mal mal ein Projekt in ein neues Verzeichnis umziehen möchtest:
Delphi Schließen -> Projekt mit allen Dateien verschieben -> Wichtig: *.dsk Datei löschen! Hier wird gespeichert, welche Fenster offen waren, und diese zeigen somit u.U. auf den alten Pfad -> Projekt wieder öffnen. Fertig.


Kann ich das Projekt auf die folgende Weise neu bauen:

Alle Formularelemente werden erzeugt, und per Klick werden dabei die entsprechenden "leeren" Einträge in der Unit1 automatisch generiert.

Diese neuen automatischen Einträge sind nun "rein zufällig" identisch mit den alten, in der Original-Unit erhaltenen.
Dann könnte ich doch in der neuen Unit die neuen Texte durch die alten ersetzen (mit dem spezifischen Code). Oder bestehen zwischen dem Inhalt der Unit (die ich editiere) und dem System unsichtbare Beziehungen, die dem entgegenlaufen?

Gruß
Martello
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 12.03.09 21:59 
user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Kann ich das Projekt auf die folgende Weise neu bauen:

Probier's doch einfach aus ;)

Wenn ich eines nicht verstehe, dann ist es die mangelnde Experimentierfreudigkeit von EE-Usern. Kaputtgehen kann doch nichts - vorrausgesetzt natürlich, dass du dein Projekt vorher sicherst (was sowieso ungefähr täglich passieren sollte).

Aber ich denke auch, dass die von dir genannte Vorgehensweise erfolgreich sein könnte. :D
Martello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

WIN 2000
TP, C, Delphi 1.0, Turbo Delphi 2006, Delphi 7
BeitragVerfasst: Do 12.03.09 22:57 
user profile iconYogu hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Kann ich das Projekt auf die folgende Weise neu bauen:

Probier's doch einfach aus ;)

Wenn ich eines nicht verstehe, dann ist es die mangelnde Experimentierfreudigkeit von EE-Usern. Kaputtgehen kann doch nichts - vorrausgesetzt natürlich, dass du dein Projekt vorher sicherst (was sowieso ungefähr täglich passieren sollte).

Aber ich denke auch, dass die von dir genannte Vorgehensweise erfolgreich sein könnte. :D


Einfacher war es, nur den eigenen Code (wie nennt man das eigentlich, was zwischen "begin" und "end" noch fehlt?)
einzutragen, nachdem die Elemente mausklickig sich_erzeugt wurden.

Aber ich kann das gesamte Projekt doch jetzt z.B. zippen und auf einem anderen Rechner (z.B. morgen vormittag) weiterbearbeiten. Oder muß ich dort auch die PATH-Umgebung meines Home-PC reproduzieren, um unangenehme Erlebnisse zu vermeiden?

Gruß
Martello
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 12.03.09 23:11 
Moin!

user profile iconMartello hat folgendes geschrieben Zum zitierten Posting springen:
Aber ich kann das gesamte Projekt doch jetzt z.B. zippen und auf einem anderen Rechner (z.B. morgen vormittag) weiterbearbeiten. Oder muß ich dort auch die PATH-Umgebung meines Home-PC reproduzieren, um unangenehme Erlebnisse zu vermeiden?
Klar kannst du das Projekt kopieren (mache ich ja auch häufiger). :nixweiss: Aber: vor dem Öffnen des kopierten Projekts entweder die .dsk löschen oder alle Code-Fenster schließen und aus der Projektverwaltung neu öffnen. :idea: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.