Autor Beitrag
Lunix666
Hält's aus hier
Beiträge: 3


D5 Prof
BeitragVerfasst: Mi 06.07.05 11:27 
Ich bin gerade dabei eine kleine TAPI-Anwendung zu basteln. Dabei habe ich ein MDIForm, aus dem über das MainMenu ein MDIChild "Telefonie-Einstellungen" gestartet wird. Idee des ganzen ist, daß ich, sobald ich die MDIForm starte, Anrufe annehmen und über andere MDIChilds Anrufe tätigen kann. Wenn ich nun die TAPI-Komponenten in das MDIChild einfüge, habe ich das Problem, daß ich beim Start der Anwendung, also des MDIForms nicht auf die TAPI-Komponenten zugreifen kann, da dazu ja erst die MDIChild "Telefonie-Einstellungen" gestartet werden müßten. Wenn ich aber die TAPI-Komponenten in das MDIForm einfüge, kann ich ja vom MDIChild nicht darauf zugreifen, da ich ja zum starten der MDIChilds über das MainMenu die MDIChilds im MDIForm usen muß:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
unit unitMDIForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, StdCtrls, unitTelephonySettings;


und ich dadurch die MDIForm nicht unter "uses" bei den MDIChilds eintragen kann, funktioniert das nicht. Hat jemand ne Möglichkeit, wie ich von den MDIChilds auf die MDIForm zugreifen kann?

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 06.07.05 11:36 
user profile iconLunix666 hat folgendes geschrieben:
und ich dadurch die MDIForm nicht unter "uses" bei den MDIChilds eintragen kann, ...

Das geht schon, aber ich vermeide das auch nach Möglichkeit.
In solchen Fällen benutze ich ein DataModule und packe das darauf. Dieses kann ich dann überall in die Uses-Klausel mit aufnehmen.
Lunix666 Threadstarter
Hält's aus hier
Beiträge: 3


D5 Prof
BeitragVerfasst: Mi 06.07.05 11:48 
Also wenn ich inner MDIForm eintrage:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
unit unitMDIForm;

interface

uses
  {...}, unitTelephonySettings;


und in der MDIChild:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
unit unitTelephonySettings;

interface

uses
  {...}, unitMDIForm;


bekomm ich folgenden Fehler:
[Fataler Fehler] unitTelephonySettings.pas(8): Überkreuzender Bezug zweier Units auf 'unitTelephonySettings'

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 06.07.05 11:53 
Das darfst du dann auch nicht im Uses des Interface eintragen, sondern im Uses des Implemetation-Teils:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
...
Implementation

uses
  DeineUnit;
...
Lunix666 Threadstarter
Hält's aus hier
Beiträge: 3


D5 Prof
BeitragVerfasst: Mi 06.07.05 11:55 
ah, thx. und schon wieder ein Stück klüger ;)