AGB  ·  Datenschutz  ·  Impressum  







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

Uses Uses Help!

Ein Thema von Corelgott · begonnen am 23. Jan 2004 · letzter Beitrag vom 23. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#1

Uses Uses Help!

  Alt 23. Jan 2004, 15:43
Hi @ all,

also ich habe ein Problem mit den Units und mit den Uses-Klauseln. Und zwar:

Delphi-Quellcode:
unit Unit1;

interface
uses unit2;

type Tx = class
   private
     MyHeight : Integer;
   public
     property Height : Integer read MyHeight write MyHeight;
end;

implementation


code....
Delphi-Quellcode:
unit unit2;

interface

implementation
uses unit2;

var
  test : TX;

procedure Init();
begin
   test.height := 10; ///<---- Das mag er irgendwie nicht !!!
end;
So oder so ungefähr....
Aber der Compiler spucktmir da nur immer irgendwelche Speicherfehler aus...

Warum??

Kann mir da jemand helfen?!

thx

Corelgott
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Uses Uses Help!

  Alt 23. Jan 2004, 15:45
1. Titel ändern!
2. Warum in Unit 2 noch "uses unit2; "?
  Mit Zitat antworten Zitat
Gepard

Registriert seit: 9. Jan 2004
4 Beiträge
 
#3

Re: Uses Uses Help!

  Alt 23. Jan 2004, 15:50
Mein ich aber auch

bei Unit2

muss hin
uses unit1; [edit=thomasdrewermann]Semikolon ergänzt Mfg, thomasdrewermann[/edit]
Freie Bahn mit Marzipan
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#4

Re: Uses Uses Help!

  Alt 23. Jan 2004, 15:58
Wen Tx kein Form ist, dann musst du schon so vorgehen:
Delphi-Quellcode:
var
  test : TX;

procedure Init();
begin
   test := TX.Create; ///<---- Test muss vorher initialisiert werden.
   test.height := 10; ///<---- Das mag er dann auch!
end;
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Uses Uses Help!

  Alt 23. Jan 2004, 15:58
Ich vermute mal, das hat das Problem nicht gelöst.

[Edit]Achso, es ist kein Form... Kann ich ja nicht wissen.[/Edit]
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#6

Re: Uses Uses Help!

  Alt 23. Jan 2004, 15:59
Gar nie!

Wenn in Unit 1 schon Unit 2 in der uses-Klauses angegeben ist darf unit 2 unter gar keinen Umständen auf Unit 1 verweisen. So ein direkter Kreuzbezug merkt der compiler zwar noch, aber wenn dann noch eine dritte unit einen Kreuzbezug herstellt, dann läuft der Compiler in eine endlosschleife!


Lösung: "uses Unit2;" in Unit 1 ersatzlos streichen!
in Unit2: "uses unit1;" einführen.

UNd dann vorher freilich TX createn und erst dann benutzen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Sascha

Registriert seit: 4. Jul 2003
Ort: Lübeck
58 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Uses Uses Help!

  Alt 23. Jan 2004, 16:02
Könnte es sich vielleicht um einen Kreuzverweis handeln?

Dann Probier mal folgendes:

Delphi-Quellcode:
unit Unit1;

interface
uses unit2;

type Tx = class
   private
     MyHeight : Integer;
   public
     property Height : Integer read MyHeight write MyHeight;
end;

implementation


code....
Delphi-Quellcode:
unit unit2;

interface

uses unit1;
implementation

var
  test : TX;

procedure Init();
begin
   test.height := 10; ///<---- Das mag er irgendwie nicht !!!
end;
Dass sollte das Problem beheben // hoffentlich
Gruß Sascha.
Man liest sich
  Mit Zitat antworten Zitat
Gepard

Registriert seit: 9. Jan 2004
4 Beiträge
 
#8

Re: Uses Uses Help!

  Alt 23. Jan 2004, 16:06
stimmt schon es kommt aber auch darauf an wo du die unit einbindest
ob im Interface-Abschnitt oder im Implementations-Abschnitt
da reagiert der Compiler ja anders
Freie Bahn mit Marzipan
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#9

Re: Uses Uses Help!

  Alt 23. Jan 2004, 16:10
Zitat von Sascha:
Könnte es sich vielleicht um einen Kreuzverweis handeln?

Dann Probier mal folgendes:

// .... Dass sollte das Problem beheben // hoffentlich
Genau so, wird es gar nicht mehr gehen, da fängt er erst gar nicht an zu kompilieren.
Es muss mindestens eine der Kreuz-uses im implementation Bereich stehen, das war schon richtig.
  Mit Zitat antworten Zitat
Benutzerbild von Corelgott
Corelgott

Registriert seit: 11. Apr 2003
Ort: Lübeck
213 Beiträge
 
Delphi 2006 Enterprise
 
#10

Re: Uses Uses Help!

  Alt 23. Jan 2004, 19:21
Hi

also das Problem ist ein bisschen komplexer, als diesen etwas knappen Code den ich getippt habe... (War meine Dummheit)

Also: natürlich heist das "unit" und nicht "uses"!
2. Ich Create auch die Variable bevor ich sie benutzt (hab ich vergessen zu posten)

Aber immer, wenn ich den eine Variable / Property setze gibt's nen Speicherfehler...

Das ganze ist ein bisschen doller verschachtelt:

Mein Programm (App)
Erzeugt ein Objekt (Obj1-> Steht in seiner eignen Unit)
Obj1 erzeugt im Constructor ein weiteres Objekt (obj2 andere Klasse)

So um beim einstellen von Obj2 das kommt das....

Das ganze soll nachher man ein Pong werden; wird aber doch recht komplex. Ich bin deswegen auch nicht sicher, ob irgendwer noch durch den Code durchsteigen würde, wenn ich ihn posten würde. (Hab selbst schon manchmal Probleme damit....)

Werde mal sehen, dass ich da was zurecht schneide...

thx erst mal so weit!!!

Muss ich bei einer solchen verschachtelung von Objekten irgendetwas beachten?
(Ich habe im Prog vom Thread bis hin zum Array alles drin... Aber der Fehler tritt schon beim setzen einer Integer variable auf....)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:03 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