Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Formular wird nicht gefunden (https://www.delphipraxis.net/8688-formular-wird-nicht-gefunden.html)

CalganX 10. Sep 2003 11:01


Formular wird nicht gefunden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich versuche gerade meinen MovieOrganizer Multi-Lingual zu machen. Dabei stoße ich derzeit auf ein Problem:
Angeben wird immer das Formular, nach dem dann per Application.FindComponent gesucht wird. Wenn MainForm angegeben wird, dann wird die Komponente auch gefunden, wenn es sich aber um ein Control in einem Anderen Formular handelt, so wird das Formular aus irgendeinem Grund nicht gefunden.

Den (kompletten) Source inkl. Sprachdateien findet ihr im Anhang, weil es schwierig wäre jetzt einzelne Stücke zusammen zu kleben.

Chris

Nalincah 10. Sep 2003 11:14

Re: Formular wird nicht gefunden
 
wenn ich compilieren will sagt der
Code:
[Fataler Fehler] MovieOrganizer.dpr(14): Datei nicht gefunden: 'MSXML2_TLB.dcu'

Luckie 10. Sep 2003 11:35

Re: Formular wird nicht gefunden
 
@Genaral, das liegt daran, dass du die XML-Kompo erst aus der TLB importieren mußt. Hat nichts mit dem Fehler von Chakotay zu tun.

CalganX 11. Sep 2003 15:36

Re: Formular wird nicht gefunden
 
*nach oben schieb*
Wollte nochmal fragen, ob vielleicht jemand eine Lösung für das Problem hat, denn ich habe keine. ;)

Chris

Touchdown 11. Sep 2003 16:12

Re: Formular wird nicht gefunden
 
Wenn man FindComponent normal aufruft ist eigentlich Self.FindComponent
gemeint, wobei Self nicht sich selbst meint sondern in den meisten Fällen eine Instanz eines Formulars.

Mit dem richtigen Pointer sollte es gehen.

Delphi-Quellcode:

MeinFormularineinerganzanderenUnit.FindComponent ...

CalganX 11. Sep 2003 16:15

Re: Formular wird nicht gefunden
 
Hi,
ich suche ja auch mit Application.FindComponent nach dem Form. :|

Chris

Christian Seehase 11. Sep 2003 16:23

Re: Formular wird nicht gefunden
 
Moin Chris,

hast Du auch mal kontrolliert, ob in slTemp[i ] auch das richtige drinsteht?

[EDIT]
Mist, verlesen, Du findest ja schon das Formular nicht :?
Aber OK: Hast Du mal kontrolliert, ob der Formularname stimmt?
[/EDIT]

Touchdown 11. Sep 2003 16:24

Re: Formular wird nicht gefunden
 
Wenn du bei dem Formular Application als Owner übergibst (was grundsätzlich auch ja nicht schlecht ist) sollte es gehen.

CalganX 11. Sep 2003 16:44

Re: Formular wird nicht gefunden
 
Hi,
@Christian: Er stimmt. Das ist ja das Problem. Das Formular existiert, wird aber nicht gefunden. :(

@Touchdown: hä? Ich will kein Formular erstellen, sondern ein Formular finden. ;)

Chris

Christian Seehase 11. Sep 2003 17:05

Re: Formular wird nicht gefunden
 
Moin Chris,

das meinte ich nicht.
Hast Du Dir mal den Variableninhalt anzeigen lassen, um zu prüfen, ob der überhaupt korrekt ist?

Touchdown 11. Sep 2003 19:26

Re: Formular wird nicht gefunden
 
Bevor man ein Objekt finden kann, muss es erzeugt werden, ich hoffe für dich du machst sowas selber und überlässt sowas nicht Delphi. :mrgreen:

Bin mir nichtmal sicher ob das nicht doch vielleicht die Parent-Beziehung ist, falls ja hast du so keine Chance.

Musst einfach mal probieren, so schwer ist es ja nicht.

Rumpi 11. Sep 2003 21:24

Re: Formular wird nicht gefunden
 
Hi,
Delphi-Quellcode:
        frmTemp := (Application.FindComponent(sTemp) as TForm);
        //*****************************************************
        // geht das ??? 
        if Not Assigned( frmTemp ) then
          for j := Application.ComponentCount - 1 downto 0 do
          begin
            cmpTemp := Application.Components[j];
            if (cmpTemp is TForm) and
               Uppercase(TForm(cmpTemp).Name) = Uppercase(sTemp) then
            begin
              frmTemp := TForm(cmpTemp);
              break;
            end;
          end;
        //*****************************************************

        if frmTemp = nil then begin
mfg Rumpi

CalganX 11. Sep 2003 22:40

Re: Formular wird nicht gefunden
 
Hi,
joah. Danke für die Hinweise. Werde das morgen mir noch mal alles in Ruhe ansehen und beantworten.

Chris

CalganX 12. Sep 2003 16:32

Re: Formular wird nicht gefunden
 
Hi,
habe jetzt ein wenig rumprobiert und habe den Fehler gefunden: TMainForm wird natürlich als Erstes erstellt, weil es das Hauptformular ist, da ich allerdings UpdateLanguage; im OnCreate aufrufe, sind die anderen Formulare noch nicht erstellt. Aufruf in OnShow löst das Problem.

Danke an Alle für die Hilfe,
Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:41 Uhr.

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