![]() |
Code zu lang -> 2. Unit ??
Hi Ihr Delphianer,
Mir ist der Code in der 1. unit zu lang geworden und deshalb habe ich eine neue Unit eingefügt. Einen Teil des Codes habe ich von der mainUnit übernommen, aber nun kommt andauert diese fehlermeldung: Undefinierter Bezeichner : blabla01 Undefinierter Bezeichner : blabla02 Undefinierter Bezeichner : blabla03 . . . etc. und so sieht meine 2. unit aus:
Delphi-Quellcode:
kann mir bitte jmd helfen? danke!
unit meineunit2;
interface procedure MeinProzedure; implementation // hier dann mein Code procedure MeinProzedure; begin ... end. |
Re: Code zu lang -> 2. Unit ??
Hi!
Erläuterst du uns das blablabla etwas näher? Evtl. hast du vergessen ein paar globale Variablen zu definieren oder (wahrscheinlicher)ein paar Units nicht mehr unter Uses eingebunden. Ciao fkerber |
Re: Code zu lang -> 2. Unit ??
:hi:
Hast Du die nötigen Units eingebunden? mfg Tobias |
Re: Code zu lang -> 2. Unit ??
in die unit2 habe ich jetzt
Delphi-Quellcode:
geschrieben
uses MainUnit;
aber der compiler meldet nun in meiner prozedur:
Delphi-Quellcode:
Undefinierter Bezeichner: TDragState
procedure LVExtsDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
der code
Delphi-Quellcode:
unit unit2;
interface procedure Starten; procedure LVExtsDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); implementation uses untMain; procedure Starten; var reg : TRegistry; keys : TStringList; . . . |
Re: Code zu lang -> 2. Unit ??
:hi:
TDragState + F1 -> ComCtrls mfg Tobias |
Re: Code zu lang -> 2. Unit ??
Binde die Unit ComCtrls ein, und btw, in der OH steht in welcher Unit ein Befehl/Typ definiert ist.
|
Re: Code zu lang -> 2. Unit ??
Hi!
Du musst oben bei den Uses z.B. mal noch ComCtrls eintragen. (Nicht da wo jetzt MainUnit steht) sondern bei den oberen Units(die dir ganz fehlen). Schau mal in der anderen Unit nach. Ciao fkerber |
Re: Code zu lang -> 2. Unit ??
in der MainUnit habe ich uses ComCtrls; schon drin stehen.
wenn ich uses ComCtrls; in die Unit2 eintrage, kommt der gleiche Fehler. :(
Delphi-Quellcode:
:wall:
uses MainUnit, ComCtrls;
|
Re: Code zu lang -> 2. Unit ??
:hi:
Steht die uses unter interface oder implementation ? versuchs mal unter interface... mfg Tobias |
Re: Code zu lang -> 2. Unit ??
Hi!
Wie ich bereits sagte Nicht da wo jetzt MainUnit steht
Delphi-Quellcode:
Ciao fkerber
unit unit2;
interface //==> HIER uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; procedure Starten; procedure LVExtsDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); implementation uses untMain; procedure Starten; var reg : TRegistry; keys : TStringList; . . . |
Re: Code zu lang -> 2. Unit ??
1. Frage
Ist es nicht möglich, das ich einfach nur die uses in MainUnit definiere ? (ich habe ja Unit2 der untMain zugewiesen :gruebel:) 2. Frage Ich bekomme in Unit2 immer den Fehler Undefinierter Bezeichner: ListView1 wenn ich Form1.Listview1 daraus mache funzt es. normal ? edit: ich habe es so gemacht, wie fkerber es geschrieben hat. :) |
Re: Code zu lang -> 2. Unit ??
Ja, denn du must explizit sagen, dass du mit ListView1 jene Listview meinst, welche auf Form1 platziert ist. Wenn du in der jeweiligen Unit arbeitest, so arbeitest du normalerweise in Funktionen, die zur Klasse TForm1 gehören, genauso wie ListView1. Feshalb brauchst du das in dem Fall nicht explizit angeben.
|
Re: Code zu lang -> 2. Unit ??
Hi!
1. Frage: Nein, das muss so sein. 2. Frage: Ja, ist ok. Du hast ja Listview1 auch in Unit1 (oder wie die bei dir heißt, also die zu Form1 gehörende Unit) definiert. Schau mal ganz oben in dieser Unit nach, dann findest du das. Ciao fkerber |
Re: Code zu lang -> 2. Unit ??
muss ich dann
Delphi-Quellcode:
in jede Prozedur schreiben,
with Form1 do
... end; oder kann ich das auch leicher im Header definieren ? |
Re: Code zu lang -> 2. Unit ??
Hi!
Du müsstest das in deinem Fall wohl immer davor schreiben. Hier wäre dann der Punkt zu überlegen, ob die Aufteilung sinnvoll ist. Normalerweise lagert man in eine separate Unit wohl nur in sich abgeschlossene Funktionen etc. aus, die nur einem Aufruf mit entsprechenden Parametern brauchen. Deine Aufteilung ist wohl mehr eine Arbeitserschwerung als -erleichterung. Ciao fkerber |
Re: Code zu lang -> 2. Unit ??
jau, ich merk das schon ! :mrgreen:
ok, danke euch allen! :thuimb: habt mir sehr geholfen. :) |
Re: Code zu lang -> 2. Unit ??
Nur mal als blöde Frage... Wieso ist der Code in der Unit1 zu lang? Mit Hilfe des Code-Explorers und evtl. TODO-Einträgen müsste ja alles gehen,oder? Du hast ja D7 Ent, da gibts die TODO-Liste auch.
|
Re: Code zu lang -> 2. Unit ??
ok, hab wieder alles rückgängig gemacht !
arbeite jetzt mal intensiver mit dem code-explorer. scheint ja sehr nützlich zu sein. *g* DANKE |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 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