Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:13

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Quellcode auslagern...
BeitragVerfasst: Do Aug 14, 2008 20:55 
Offline
DGL Member
Benutzeravatar

Registriert: Di Aug 12, 2008 16:50
Beiträge: 22
Hallo,

Ich bin zwar noch am Anfang von OpenGL und auch von Delphi, das soll mich allerdings nicht daran hindern, Teile meines Quellcodes in andere Dateien auszulagern.
Zu Anfang hatte ich dabei an die Units von Delphi genannt, die man dann mittels uses-Klausel einbinden kann. Und genau das ist das Problem.
Ich habe in der ersten Unit eine Klasse definiert und würde diese nun gerne auch in der zweiten Unit verwenden. Da dies aber wohl mit Units nicht so ganz zu funktionieren scheint, wollte ich mal fragen, ob es denn nicht so 'ne include-Funktion oder soetwas gibt, womit direkt der Inhalt der Eingefügten Datei eingefügt wird, sodass ich nicht wieder neue Funktionen etc. machen brauche. Also zum Beispiel:

=====Unit1====
...
var a : integer;
begin
a := 3
include Unit2;
end;
...
=====Unit2====
if a = 3 then
ShowMessage(IntToStr(a));
...

Für Antworten bin ich sehr dankbar und wenn ihr nicht verstanden habt, was ich meine, fragt bitte nochmal nach.
Danke,
Typhox


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 14, 2008 21:35 
Offline
DGL Member

Registriert: Di Mai 24, 2005 16:43
Beiträge: 710
Etwas wie include gibt es in Delphi nicht und das ist eigentlich auch gut so. Eigentlich lässt sich alles nötige in Klassen / Extra Units auslagern / zusammenfassen.

mfg


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 14, 2008 21:52 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Mär 09, 2005 15:54
Beiträge: 372
Wohnort: München
Programmiersprache: Delphi, C#, FPC
Geben tut es das schon:
Code:
  1. {$INCLUDE DieDatei.inc}

Jedoch ist es für solche Sachen nicht so gut geeignet, da die Übersicht dadurch total verlohren geht. Solche includes werden normalerweise nur für globale Defines benutzt.

_________________
Aktuelles Projekt: Gael - Development Blog
Website: LightBlackSoft.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 14, 2008 21:58 
Offline
DGL Member
Benutzeravatar

Registriert: Di Aug 12, 2008 16:50
Beiträge: 22
@Seth: Das ist aber doof, denn dann wird der Source Code ziemlich unübersichtlich ~~~~

Okay, dann suche ich jetzt für folgendes eine Lösung:

Ich will einen Template-Code für OpenGL schreiben, damit ich das in den Tutorien gelernte einfacher ausprobieren kann (jaja, ich weiß, ein Template gibt's schon).
Nun habe ich, auch um es etwas besser auswendig zu lernen, den Source Code aus dem Quickstart-Tutorial abgeschrieben.
Da gibt es eine Funktion TForm1.Rendern. Und die möchte ich unbedingt in einer zweiten Unit haben! Einfach nur "uses UnitRendern" funktioniert da wohl nicht, da man mir dort dann mitteilt, dass die Klasse TForm1 garnicht definiert wird (naja, eigentlich teilt man es mir indirekt mit..).
Ich kann dort aber ja nicht wieder einen Rückverweis machen, wegen dem überkreuzendem Bezug (endlosschleife).
Also dachte ich daran, in der Prozedur die Prozedur aus der anderen Unit auszuführen, was aber auch nicht geht, weil zum Teil die Variablen und Prozeduren der Klasse nicht bekannt sind...
Wahrscheinlich könnte man jetzt auch diese als Parameter mit übergeben, aber das erscheint mir inzwischen etwas zu unflexibel und zu unsauber.

Gibt es nicht noch eine zufriedenstellende Methode, um für die Klasse auch in der anderen Unit Prozeduren zu deklarieren?
Oder etwas vergleichbares?

@littleDave: Danke, ich glaube sowas habe ich gesucht.
Das mit der Übersichtlichkeit verstehe ich schon, ist mir aber in diesem Fall ziemlich EGAL.

Dankeschön.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]