Autor Beitrag
jenbru
Hält's aus hier
Beiträge: 6


D7, BDS2006, VS2005
BeitragVerfasst: Do 04.11.04 11:51 
Hallo,

folgendes Problem:

ich arbeite derzeit an einem Software-Projekt, mit dem es möglich ist verschiedene Berechnungen aus dem Bereich der Lichttechnik durchzuführen und diese grafisch darzustellen.

Derzeit arbeite ich am Entwurf eines GUI-Prototyps. Um verschiedene Berechnungen zu vergleichen, soll es möglich sein mehrere unabhängige Darstellungen anzuzeigen. Dabei stellt sich die Frage nach der grundsätzlichen Vorgehensweise. Sollte man dies in einer einfachen MDI-Anwendung (Ein Hauptfenster, mehrere gleichartige Unterfenster) oder in einer SDI-Anwendung realisieren, bei der "scheinbar" mehrere Instanzen der Anwendung parallel geöffnet sind (Beispiel: MS Office)?

Leider habe ich keine Ahnung, wie man letzteres Beispiel, also eine SDI-Anwendung im Stil von MS Office implementieren könnte. Hat da jemand schon Erfahrungen mit gemacht? Setzt MS zur Realisierung solcher Anwendungen besondere Technologien ein?

Bis denne,
Jenne
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Do 04.11.04 13:22 
wie wäre es denn wenn du eine art "tab-browsing" machst, so wie sie in mozilla, opera oder in diversen editorprogrammen realisiert ist :wink:

möge die macht mir dir sein 8)

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
jenbru Threadstarter
Hält's aus hier
Beiträge: 6


D7, BDS2006, VS2005
BeitragVerfasst: Do 04.11.04 13:36 
Hallo,

danke zunächst für die schnelle Antwort. Das mit dem "Tab-Browsing" hatte ich mir auch schon überlegt. Allerdings habe ich ja dann den Fokus auch wieder nur auf einem Fenster, was so nicht wirklich mein Problem löst, dass ich mehrere Darstellungen zwecks Vergleich gleichzeitig anzeigen muß.
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Do 04.11.04 19:23 
in diesem fall ist eine MDI die richtige wahl.

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
jenbru Threadstarter
Hält's aus hier
Beiträge: 6


D7, BDS2006, VS2005
BeitragVerfasst: Do 04.11.04 19:34 
Hi,

Das waere sicher die am leichtesten zu implementierende Loesung. Allerdings geht der Trend
ja in Richtung SDI (man streitet sich ja offentsichtlich schon lange um das Thema MDI/SDI). Das hat auch der Kunde mitbekommen und wuenscht eben eine SDI-Loesung, die sich aehnlich den MS-Produkten verhaelt.

Bis denne,
Jenne
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Do 04.11.04 20:24 
aber wie willst du soetwas mit einem single data interface (SDI) realisieren wenn du mehrere daten gleichzeitig anzeigen willst?
word,excel usw sind übrigends auch MDI anwendungen, nur mit dem unterschied das die clients(dokumente)in der regel maximiert dargestellt sind.

aber mir kommt da grad noch ne idee. wie wäre es denn wenn du die daten "aufklappbar" machst:
ich hab da mal was zusammengeschustert(nur um das prinzip er verdeutlichen)

user defined image

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Do 04.11.04 20:26 
hab in sachen word und MDI/SDI grad was dazugelernt:
Zitat:

Bis und mit Word 97 war MS Word ausschliesslich mit einem sogenannten MDI (Multi Document Interface) ausgestattet. Das Anwendungsfenster ist dabei immer genau einmal in der Taskleiste von MS Windows präsent. Das Anwendungsfenster wiederum kann dann aber 0 bis n Dokumente verwalten.

Mit Word2000 tritt das SDI (Single Document Interface) auf den Plan. Dabei mag der Eindruck aufkommen, dass MS Word gleich mehrmals aufgestartet wird, was wohl auch im Bezug auf den Speicherbedarf nicht sehr günstig wäre. Der Schein trügt hier aber. Faktisch startet MS Word nur ein einziges Mal. Jedes Word-Dokument hinterlässt allerdings (bewusst) einen Eintrag in der Taskleiste, was einerseits den Wechsel zwischen den verschiedenen Dokumenten erleichtert, allerdings auch zu einer Überflutung der Taskleiste führen kann. Letzteres ist allerdings nur arbeitstechnisch gesehen, ein Problem.

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
jenbru Threadstarter
Hält's aus hier
Beiträge: 6


D7, BDS2006, VS2005
BeitragVerfasst: Do 04.11.04 20:40 
Mach Dir nix draus, bis heute morgen wusste ich das mit dem Word auch nocht nicht ;)

Aber genau in der Art wollte ich das eigentlich implementieren!

Die Idee mit den aufklappbaren Daten ist allerdings auch schick. Dann koennte ich doch mit "Tabs" arbeiten und die Daten in einem eigenen "Tab" vergleichen. Danke fuer den geistigen Anstoss :D

Bis denne,
Jenne
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Fr 05.11.04 10:16 
gern geschehen,
das macht dann 6% Gewinnbeteiligung an dem fertigen Produkt, sowie 40? für die angebrochene Arbeitsstunde :mrgreen:

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
jenbru Threadstarter
Hält's aus hier
Beiträge: 6


D7, BDS2006, VS2005
BeitragVerfasst: Fr 05.11.04 12:04 
Hi,

patrick hat folgendes geschrieben:
gern geschehen,
das macht dann 6% Gewinnbeteiligung an dem fertigen Produkt, sowie 40? für die angebrochene Arbeitsstunde :mrgreen:


Ich werde das umgehend an meinen Chef weiterleiten! ;)

Schoenes Wochenende,
Jenne
jenbru Threadstarter
Hält's aus hier
Beiträge: 6


D7, BDS2006, VS2005
BeitragVerfasst: Mo 08.11.04 14:19 
Hallo,

Wen es interessiert, dank der Leutchen aus der deutschen Delphi-Newsgroup habe ich eine Loesung fuer mein Problem gefunden :D

Ich gebe meiner Anwendung einfach ein leeres, nicht sichtbares Hauptfenster

ausblenden Delphi-Quelltext
1:
Application.ShowMainForm:=False;					


Dann erzeuge ich bei Bedarf beliebige Instanzen einer neuen Form ohne "OWNER"

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure NeuesFenster;
   var NeuesFenster:TBeliebigesFenster;
   begin
     NeuesFenster:=TBeliebigesFenster.Create(NIL);
     NeuesFenster.Show;
   end;


Fuer meine neuen Fenster muss ich jetzt nur noch Taskbar-Eintraege erzeugen. Das geht mit Ueberschreibung der CreateParams(...) Prozedur

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
// ...
type
  TBeliebigesFenster = class(TCustomForm)
  protected
       procedure CreateParams(var Params: TCreateParams); override;
  public
  end;


implementation

  procedure TBeliebigesFenster.CreateParams(var Params: TCreateParams);
  begin
   inherited CreateParams(Params);
   //Params.Style:=  Params.Style or WS_POPUPWINDOW;
   Params.WndParent:=0;
  end;

// ...


Bis denne,
Jenne

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.