![]() |
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 |
Re: Formular wird nicht gefunden
wenn ich compilieren will sagt der
Code:
[Fataler Fehler] MovieOrganizer.dpr(14): Datei nicht gefunden: 'MSXML2_TLB.dcu'
|
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.
|
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 |
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 ... |
Re: Formular wird nicht gefunden
Hi,
ich suche ja auch mit Application.FindComponent nach dem Form. :| Chris |
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] |
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.
|
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 |
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? |
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. |
Re: Formular wird nicht gefunden
Hi,
Delphi-Quellcode:
mfg Rumpi
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 |
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 |
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