Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Undeklarierter Bezeichner ComboBox1 ? (https://www.delphipraxis.net/174196-undeklarierter-bezeichner-combobox1.html)

floppybe 9. Apr 2013 01:32

Undeklarierter Bezeichner ComboBox1 ?
 
Hallo Liebe DP'ler,

Ich verstehe nicht weshalb mir ein Fehler ausgegeben wird, und zum Thema Undeklarierter Bezeichner habe ich in
der Hilfe auch nichts gefunden.

Mein Code:

Delphi-Quellcode:
const
  Sektion='language';
  Eintrag='last language';
var
  ini :TIniFile;
  filename :String;
begin
  filename := ExtractFilePath(ParamStr(0)) + '././einstellungen.ini';
  ini := TIniFile.Create(filename);
  ComboBox1.Text:=ini.ReadString(Sektion,Eintrag,ComboBox1.Text);
  //In einem Formular, in dem nur die Sprache gesetzt werden soll, wo also keine Combobox ist
  //muss natürlich entsprechend eine variable gefüllt oder eine Prozedur bedient werden:
//  SpracheSetzen(ini.ReadString(Sektion,Eintrag,'Deutsch'));
  ini.Free;
Danke an Ralphi, alias Jumpy. Von Ihm habe ich den Code zum erstellen des INI Files.
Lesen geht leider nicht, und ich weis nicht wieso mir der Compiler da abbricht.
Error Meldung:

[dcc32 Fehler] fVisualPlugin.pas(60): E2003 Undeklarierter Bezeichner: 'ComboBox1'

Aber ich habe ja oben bei der Deklaration die ComboBox drinn:

Delphi-Quellcode:
type
  { TVisualForm }
  TVisualPlugin = class(THYVisualPlugin)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    MainMenu1: TMainMenu;
    siLang1: TsiLang;
    siLangDispatcher1: TsiLangDispatcher;
    Edit3: TEdit;
    ComboBox1: TComboBox;
    procedure ComboBox1Change(Sender: TObject);
Ich verstehe den Source, habe auch begriffen wie das gemeint ist aber die Fehler Meldung verstehe ich nicht.

Gruss

Chris

Perlsau 9. Apr 2013 02:54

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Leider ist an deinen Codeschnipseln nicht erkennbar, zu welcher Procedure oder Function der Code gehört, in welchem du eine Zuweisung an ComboBox1.Text versuchst. Ich vermute jedoch, daß die Prodedure oder Function nicht zu der Klasse gehört, in der ComboBox1 deklariert ist, weshalb der Compiler an dieser Stelle auch keine ComboBox1 kennt.

floppybe 9. Apr 2013 07:35

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Frank,

danke für Deine schnelle Antwort. Ich lade Dir und den anderen Helfer hier im Forum mal die pas Datei hoch zum
anschauen, vielleicht habe ich einen überlegungsfehler dort drin.

Ich weis es nicht. :?

Ich danke Euch schon mal an dieser Stelle für die Hilfe, die Ihr mir da zukommen lasst. :-D

Gruss

Chris

Sir Rufo 9. Apr 2013 07:38

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Die procedure die du da aufrufst ist keine Methode von der Form und folglich ist dort ComboBox1 unbekannt.

Und zu dem Zeitpunkt wo du darauf zugreifen willst, gibt es noch nicht mal die Form, und damit auch die ComboBox nicht.

Du musst erst den Kuchen backen, bevor du davon ein Stück abschneiden kannst.

DeddyH 9. Apr 2013 07:57

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Siehe Kommentare
Zitat:

Delphi-Quellcode:
procedure Create_VisualPlugin(out anInstance: IInterface); //reguläre Prozedur
...
begin
  filename := ExtractFilePath(ParamStr(0)) + '././einstellungen.ini'; //???
  ini := TIniFile.Create(filename);
  ComboBox1.Text:=ini.ReadString(Sektion,Eintrag,ComboBox1.Text); //wessen ComboBox, es gibt hier kein self?


floppybe 9. Apr 2013 08:31

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Hallo DaddyH und Sir Rufo,

verstehe ich das etwa richtig, dass ich zur Erzeugung des Forms noch keine ComboBox habe und somit ich das
ganze nicht auslesen kann ?

Ich habe jetzt mal den Code in eine Button Deklaration OnClick gepackt, kompilieren kann ich das ganze, aber
auslesen aus der INI geht irgendwie immer noch nicht. :Seufz

Delphi-Quellcode:
procedure TVisualPlugin.Button3Click(Sender: TObject);
const
 Sektion='language';
 Eintrag='last language';
var
  ini: TIniFile;
  filename: String;
begin

  filename := ExtractFilePath(ParamStr(0)) + '././einstellungen.ini';
//Im Ordner plugin steht die DLL im Orner INI stehen die Einstellungen diese beiden Ordner stehen im
//Verzeichnis Berechnungen
  ini := TIniFile.Create(filename);
  ComboBox1.Text:=ini.ReadString(Sektion,Eintrag,ComboBox1.Text);
  //wessen ComboBox, es gibt hier kein self?
  //In einem Formular, in dem nur die Sprache gesetzt werden soll, wo also keine Combobox ist
  //muss natürlich entsprechend eine variable gefüllt oder eine Prozedur bedient werden:
 // SpracheSetzen(ini.ReadString(Sektion,Eintrag,combobox1.Text));
  ini.Free;
end;
Mache ich immer noch einen überlegungs Fehler oder muss ich den Source zum auslesen anders schreiben ?

Gruess

Chris

DeddyH 9. Apr 2013 08:46

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Lass Dir doch mal filename ausgeben, ich denke, der stimmt nicht mit dem überein, was Du erwartest.

Sir Rufo 9. Apr 2013 09:00

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Zitat:

Zitat von DeddyH (Beitrag 1210739)
Lass Dir doch mal filename ausgeben, ich denke, der stimmt nicht mit dem überein, was Du erwartest.

zumal
Delphi-Quellcode:
'.\.\einstellungen.ini'
äquivalent zu
Delphi-Quellcode:
'einstellungen.ini'
ist, wenn wir das vom Dateisystem aus sehen.

Code:
. dieses Verzeichnis
.. Parent-Verzeichnis

DeddyH 9. Apr 2013 09:01

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Das wollte ich mit meinen 3 Fragezeichen im obigen Kommentar auch ausdrücken. Hier stimmt wahrscheinlich etwas nicht ;)

Sir Rufo 9. Apr 2013 09:09

AW: Undeklarierter Bezeichner ComboBox1 ?
 
Zitat:

Zitat von DeddyH (Beitrag 1210743)
Das wollte ich mit meinen 3 Fragezeichen im obigen Kommentar auch ausdrücken. Hier stimmt wahrscheinlich etwas nicht ;)

das du das weißt, war mir klar, aber ich wollte es dem TE etwas leichter machen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz