Hallo zusammen,
ich habe folgendes Problem. ich habe ein Programm gebastelt mit einer Unit1 und einem Form1 also eben eine ganze einfache formular anwendung. so nun habe ich eine neue
unit geschrieben, da ich in dieser eine größere procedure auslagern wollte.
diese
unit habe ich zuvor unabhängig vom eigenen programm gebastelt mit eigenem test form und so. nun nachdem die neue procedure in der neuen
unit einwandfrei und wie gewünscht funktionierte (also hier is grundsätzlich kein Problem), habe ich das testform "weggeworfen" und habe (wollte ich zumindest aber hier hakt es^^) die neue
unit in das bestehende programm hinzugefügt.
also zum verständnis. ich habe nun unit1 und form1 vom ursprünglichen programm und dazu nun die neue
unit eingebunden. nun soll aus der neuen
unit die procedure in der
unit 1 aufgerufen werden, also habe ich die neue
unit in unit1 unter interface>uses bekannt gemacht. außerdem habe ich in der neuen
unit die procedure öffentlich deklariert.
nun zum problem: der procedur aufruf in unit1 klappt ohne probleme, allerdings wird vom compiler nun in der neuen
unit gemeckert. ich nutze in der neuen
unit memos und editfelder die ursprünglich ihren bezug auf das testform hatten, das nun nicht mehr existiert. genau diese editfelder sitzen nun aber auch auf dem form des hauptprogrammes mit glecher bezeichnung und alles, aber sie sind in der neuen
unit nicht bekannt (undefinierter bezeichner).
ich habe schon selbst versucht nach dem fehler zu suchen und dachte mir vielleicht müssen die felder in der neuen
unit explizit bekannt gemacht werden und somit habe ich etwas im kopf der
unit gestöbert. die felder sind in der neuen
unit unter "type" eingetragen sowie auch TForm1, außerdem befindet sich ein TForm1 eintrag unter "var" im kopf.
mein laien verständnis sagt mir nun die neue
unit müsste doch die felder kennen???? ich habe herausgefunden, dass wenn ich in der neuen
unit die felder über "form1.edit1...." aufrufe dann geht es, aber ich möchte gerne das die felder bekannt sind und das ich sie direkt aufrufen kann.
ist nun vielleicht nicht so wichtig und im grunde habe ich ja eine problemlösung. allerdings möchte ich als anfänger nicht immer um die probleme drum herum basteln, denn so versteh ich es ja sonst nie.
also wie schaff ich es das ich die felder von Form1 und in der neu hinzugefügten
unit aufrufen kann ohne das ich "Form1.edit1.xxx" benutzen muss, sondern einfach nur "edit1.xxx"???
ich bin über jede hilfe dankbar!
edit: nun nachdem ich alle felder mit "Form1.xxx" aufgerufen, um das Programm vorerstlauffähig zu machen solange ich auf eure netten antworten warte kommen nun folgende fehler mit denen ich absolut nichts anfangen kann:
Erzeugen
[Fehler] WARNING. Duplicate resource(s):
[Fehler] Type 10 (RCDATA), ID TFORM1:
[Fehler] File Unit1.dfm resource kept; file p_emailsenden.dfm resource discarded.
Bitte Hilfe!
gruß
knuff