Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Eigene Uses Unit?! (https://www.delphipraxis.net/116366-eigene-uses-unit.html)

3_of_8 27. Jun 2008 23:16

Re: Eigene Uses Unit?!
 
Das ist vor allem auch dann sehr sinnvoll, wenn man z.B. eine neue Delphi-Version installieren will und alle eigenen Units dort haben will. Wenn man alles in lib haut, muss man erst sorgfältig die eigenen Units von den Borland (äh, Borland/Inprise/Borland/CodeGear/Embarcadero, ach, egal)-Units trennen, um nichts neues zu überschreiben.

J Kadison 3. Jul 2008 12:16

Re: Eigene Uses Unit?!
 
Hm sorry aber ich muss mich hier nomma melden :drunken: ich glaub mein Delphi mag mich nicht

Wenn ich's nur mit der unit mache geht's auch aber das problem ist ich möchte eine Procedure zum verschlüsseln machen und somit wäre eine dcu besser als ein bearbeitbares format


Also ich hab jetzt mein Programm geschrieben, hab die Unit genauso gemacht, wie oben beschrieben, jetzt allerdings krieg ich jetzt immer die Fehlermeldung, dass Form1 sich überschneidet, also ich denk mal weil ich meiner erstellten dcu ja auch die Rede von einer Form1 ist.

Delphi-Quellcode:
[Fehler] WARNING. Duplicate resource(s):
[Fehler]  Type 10 (RCDATA), ID TFORM1:
[Fehler]    File C:\Programme\Delphi7\Projects\Unit1.dfm resource kept; file c:\programme\delphi7\meine Units\Cryption.dfm resource discarded.

Wie bekomme ich denn ein Form aus einer Application heraus?
Sorry wenn ich mich jetz mega dumm stell aber ich weiß es nicht bessee :gruebel:

[edit] wer richtig schreiben kann is klar im vorteil xD naja gut dass man editieren kann xD [/edit]



:coder2:



Zitat:


Allerletztes Edit für heut:

also ich habe es jetzt hinbekommen! Nochmal ne kleine Zusammenfassung, wie das ganze jetzt funktioniert für alle die genauso verpeilt sind wie ich! Ist zwar keine Musterlösung aber es funktioniert!


Also Empfehlenswert: In Delphi Umgebungsvariablen einen eigenen Ordner angeben (besser falls das ganze mal gesichert werden sollte)

Erstellt eine Neue Unit (alles andere vorher schließen!)


Zitat:

Delphi-Quellcode:
unit MeineUnit;

interface

uses Windows;

procedure SagHallo; //Prototyp

implementation

procedure SagHallo;
begin
  MessageBox(0,'Hallo Welt',nil,0);
end;

end.
Source: DeddyH


dann speichert ihr das Ganze und schließt es!


Macht eine neue anwendung, und fügt dem Projekt eure Unit hinzu.
Jetzt erstellt ihr diese Anwendung und ihr habt auhc die DCU die ihr geuscht habt
(Tipp: wenn ihr die Anwendung in einem Anderen Ordner erstellt wie die Unit dann habt ihr in dem Ordner der Unit wirklich nur die DCU)

Jetzt müsst ihr nur noch die DFM der erstellten Anwendung in den Ordner der duc kopieren und editieren:

Delphi-Quellcode:
object FormMeineUnit: TFormMeineUnit
  Left = 1
  Top = 1
  Width = 1
  Height = 1
  Caption = 'FormMeineUnit'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
end
(Hinweis: die form muss EINMALIG sein und darf nicht noch einmal vorkommen)



jetzt könnt ihr wenn ihr eine programm schreibt oben in Uses "MeineUnit" hinzufügt jederzeit eure Prozedur SagHallo; aufrufen ohne sie nochmal deklarieren oder so zu müssen




VIEL SPASS EUCH ALLEN NOCH !!!

:bouncing4: :bounce1: :bouncing4: :bounce1:


hitzi 3. Jul 2008 13:04

Re: Eigene Uses Unit?!
 
Hä? Ist nicht dein Ernst, oder? :zwinker:

J Kadison 3. Jul 2008 13:21

Re: Eigene Uses Unit?!
 
Wieso soll das nicht mein ernst sein? hab ich das Ganze jetzt sooooo kompliziert gemacht?
Wenn's ne einfachere Methode gibt fänd' ich's toll wenn das jemand (für ideoten erklärt) reinstellen könnt

hitzi 3. Jul 2008 13:28

Re: Eigene Uses Unit?!
 
1. Erstelle ein Projekt
2. Datei/Neu/Unit
3. Unit bearbeiten und abspeichern
4. Unit in das Projekt über "uses" und dem Unitnamen einbinden
5. Fertig :)

[edit] falls du die Unit nicht im Projektpfad abspeicherst, muss du dem Projekt mitteilen, wo er noch nach der Unit suchen soll (Projekt/Optionen/"Verzeichnisse/Bedingungen"/Suchpfad)

DeddyH 3. Jul 2008 13:29

Re: Eigene Uses Unit?!
 
Auf dem oben beschriebenen Weg bindet man im Normalfall Units mit eigenen Routinen ein, die nichts mit der VCL zu tun haben. Wenn man einfach ein weiteres Formular im Projekt erstellen will, kann man das ganz bequem über das Hauptmenü machen. Ähnlich einfach ist das auch mit Hinzufügen eines bestehenden Formulars zum Projekt. Außerdem zeigt sich wieder einmal, dass man seine Formulare und Komponenten vernünftig benennen sollte, dann sind solche Effekte zumindest unwahrscheinlicher (Form1 könnte es ja öfter geben, frmNeuerBenutzer eher nicht).

J Kadison 3. Jul 2008 13:40

Re: Eigene Uses Unit?!
 
ja ne, dann hab ich aber immernoch das Problem, welches ich oben erwähnt habe:


Zitat:

Delphi-Quellcode:
[Fehler] WARNING. Duplicate resource(s):
[Fehler]  Type 10 (RCDATA), ID TFORM1:
[Fehler]    File C:\Programme\Delphi7\Projects\Unit1.dfm resource kept; file c:\programme\delphi7\meine Units\Cryption.dfm resource discarded.

oder?!

mkinzler 3. Jul 2008 13:45

Re: Eigene Uses Unit?!
 
Du hast die Res sowohl manuell wie auch automatisch {$R} eingebunden

BullsEye 3. Jul 2008 13:54

Re: Eigene Uses Unit?!
 
Mal kleine Zwischenfrage:

Wenn ich eine eigene Procedure habe, warum muss ich dann für jede Koponente dann extra das Formular davorschreiben?


BSP:
Normal:

Delphi-Quellcode:
procedure TfrmMain.FormCreate(Sender: TObject);
begin
Height := 100;
Width := 100;
end;
Eigene:
Delphi-Quellcode:
procedure groesse;
begin
Form1.Height := 100;
Form1.Width := 100;
end;
warum geht da nicht einfach:

Delphi-Quellcode:
procedure groesse;
begin
Height := 100;
Width := 100;
end;
Bei ner eigenen Unit versteh ich das ja wohl noch.. aber warum geht das nicht, wenn das alles in ein und der selben Unit ist?

wazup 3. Jul 2008 13:56

Re: Eigene Uses Unit?!
 
Wenn ich nichts übersehen hab, hat noch niemand erwänd das man auch .PAS-Dateien ins Lib-Verzeichnis einfügen kann :!:
Mach ich übrigends auch immer!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 Uhr.
Seite 2 von 3     12 3      

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