Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi unit1 in 'unit1.pas' funzt nur sporadisch (https://www.delphipraxis.net/20879-unit1-unit1-pas-funzt-nur-sporadisch.html)

glkgereon 24. Apr 2004 17:27


unit1 in 'unit1.pas' funzt nur sporadisch
 
hi
ich hab mir selbst n paar units gemacht, aber das sind pas-dateien

daher gibts zwei lösungen:
1. unit in 'unit1.pas'
2. das in dpu umbenennen

das zweite krieg ich nicht hin (zu blöd?)

bleibt für mich das erste: folgendes

mal funzt es ohne probleme, mal sagt er "'in' found, ',' or ';' expectet" (ausm gedächnis und gekürzt)

was mach ich falsch?

Christian Seehase 24. Apr 2004 19:02

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Moin glkbkk,

Zitat:

Zitat von glkbkk
was mach ich falsch?

also wenn Du schon so fragst... :mrgreen:

Ich hab' jetzt Dein Problem nicht wirklich verstanden.
Vielleicht könntest Du das mal an einem konkreten Beispiel erläutern.

BTW:
Was ist eine DPU Datei?
Falls Du DCU meinst: Das ist eine compilierte Unit (Delphi Compiled Unit), sprich, das was Du herausbekommst, wenn Du eine PAS compilierst.

glkgereon 24. Apr 2004 19:15

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
stimmt, dcu

mein problem, nochmal anders:

man kann ja eine unit, die in einer pas datei ist einbinden mit

unit1 in 'unit1.pas'

die funzt bei mir aber nur manchmal, und manchmal kommt eine fehlermeldung

"'in' found, ',' or ';' expected"

Christian Seehase 24. Apr 2004 19:17

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Moin glkbkk,

dann wäre ein Beispiel für einen Uses Abschnitt der nicht funktioniert eventuell ganz hilfreich.

glkgereon 24. Apr 2004 19:20

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Delphi-Quellcode:
uses
unit1 in 'unit1.pas',//von d generiert
unit2 in 'unit2.pas',//von d generiert
mymathprocedures in 'mymathprocedures.pas';//selber dazugetan
hier der uses abschnitt
aber hilft der dir weiter???

Christian Seehase 25. Apr 2004 00:22

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Moin glkbkk,

ich konnte den Fehler reproduzieren.
Dieser tritt auf, wenn Du versuchst die PAS-Datei für eine Unit in der uses Klausel einer Unit anzugeben.
Dort ist das aber nicht erlaubt.

Geh' mal auf uses, und drücke F1.
Dann erhältst Du die Hilfeseite "The syntax of a uses clause".
Wichtig wäre hier der letzte Absatz.

Muetze1 25. Apr 2004 01:57

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Moin!

Ausserdem macht Delphi diese Einträge doch selber und ich würde auch nur Delphi diese Uses Einträge in der DRP Datei machen lassen. Du kannst dieses "xxx in '...'" sowieso nur im Projektfile angeben und in keiner normalen Unit. Und um einen solchen Eintrag in dem Projektfile zu erreichen gibt es die Projektverwaltung (Ansicht->Projektverwaltung). Wenn du die mal aufmachst, dann siehst du oben den "Hinzufügen" Button oder du machst einen Rechtsklick auf dein Projekt in dem Baum darunter und wählst "existierende Datei hinzufügen" und wählst die Unit ordentlich aus.

MfG
Muetze1

glkgereon 27. Apr 2004 13:07

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
thx, aber mit diesem "unit hinzufügen" oder so komm ich nicht zurecht/funzt bei mir nicht richtig

kann ích mir denn aus ner "pas-unit" eine "dcu-unit" machen?

maximov 27. Apr 2004 13:52

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Zitat:

Zitat von glkbkk
kann ích mir denn aus ner "pas-unit" eine "dcu-unit" machen?

Das macht delphi automatisch, wenn du die unit korrekt eingebunden hast und sie kompiliert wurde -> womit sich dann die katze wieder in den schwanz beisst!

Also: du musst einfach nur die uses klausel korrekt schreiben!

himitsu 27. Apr 2004 14:15

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
also nochmal kurz und knapp:

Delphi-Quellcode:
uses
  unit1 in 'unit1.pas',
  unit2 in 'unit2.pas',
  mymathprocedures;

glkgereon 28. Apr 2004 14:33

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Zitat:

Das macht delphi automatisch, wenn du die unit korrekt eingebunden hast und sie kompiliert wurde
Wie denn????????
zum teufel nochmal!!!

wenn ich das könnte, hätt ich doch das problem nicht!!!

Treffnix 28. Apr 2004 14:46

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Nana! Nicht fluchen!

Um dcu-Dateien musst du dir im Grunde keine Gedanken machen. Wenn Delphi meckert, dass er dcu Dateien nicht gefunden hat, liegt es bei selbstgeschriebenen Units daran, dass er die .pas nicht gefunden hat in deinem Fall, weil die Uses-Clause nicht stimmt. Guck, was Himitsu geschrieben hat und lass das "in xyz.pas" beim deinen eigenen Units weg.

glkgereon 30. Apr 2004 14:50

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
so, ganz ruhig... :-D

ich zitiere jetzt nochmal

Zitat:

Das macht delphi automatisch, wenn du die unit korrekt eingebunden hast und sie kompiliert wurde
Noch einmal:

was heist einbinden, was heisst kompilieren????????
muss ich jetzt jede unit bei delphi registrieren, oder was?

Matze 30. Apr 2004 14:53

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Zitat:

Zitat von glkbkk
was heist einbinden, was heisst kompilieren????????
muss ich jetzt jede unit bei delphi registrieren, oder was?

Man merkt, wie ruhig du bist :roll:

F9 = Kompillieren.

Christian Seehase 30. Apr 2004 15:50

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Moin Matze,

STRG-F9 => Compilieren
F9 => Start

;-)

@glkbkk:
wenn Du eine Unit einbinden willst, kannst Du das mit
SHIFT-F11 => Dem Projekt hinzufügen (Menü: Projekt\Dem Projekt hinzufügen)
oder über den entsprechenden Button in der Toolbar machen (grünes +)

Ausserdem kannst Du auch einfach die Unit an passender Stelle mit in die Uses Anweisung aufnehmen (manuell)

Compilieren: Siehe oben

ggf. auch Projekt erzeugen (siehe Menüpunkt Projekt)
hierbei wird das erneute erstellen der DCU erzwungen, da Delphi ansonsten nur die PAS Dateien neu compiliert, die sich seit dem letzen Mal geändert haben, was aber auch durchaus mal falsch erkannt werden kann.

glkgereon 30. Apr 2004 15:54

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
danke, das war die antwort, ich dachte man kann keine units kompilieren...
da müssten doch eigentlich dll rauskommen :gruebel: :gruebel:
naja, egal... :-D

Christian Seehase 30. Apr 2004 16:11

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
Moin glkbkk,

DCU ist die Abkürzung für Delphi Compiled Unit
DLL steht für Dynamic Link Library

Du kannst zwar mit Delphi auch DLLs erstellen, für die Du wiederum Units verwenden kannst, aber die beiden Dateitypen haben erst einmal nichts miteinander zu tun.

glkgereon 30. Apr 2004 23:42

Re: unit1 in 'unit1.pas' funzt nur sporadisch
 
nein, mein gedankengang war in etwa so:

eine unit ist eine art befehlsbibliothek, also auch eine "library"
wenn die compilt müsste doch eine dll rauskommen...

vielleicht sollte ich auch einfach ins bett gehen :-D :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 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