AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Constant Expressions

Ein Thema von Prototypjack · begonnen am 5. Jun 2006 · letzter Beitrag vom 5. Jun 2006
Antwort Antwort
Seite 1 von 2  1 2      
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#1

Constant Expressions

  Alt 5. Jun 2006, 17:16
Hallo,
Ich habe hier einen Fehler, und er ist Einer der wenigen, deren Auftreten ich vollkommen verstehe, mir die Lösung jedoch unklar bleibt:
Ich habe eine Liste von Strings(Benötigt für die Multilingualität des Programmes, es dürfen keine Resourcestrings sein, da man die afaik nicht zur Laufzeit verändern darf/kann). Jedoch will ein Array keinen dieser Strings annehmen(vorher wurde es mit Ressorcestrings geregelt), weil diese eben nicht Konstant sind.
Folglich ergibt sich ein Fehler, einer der vollkommen verständlich ist, meine Frage lautet also:
Gibt es eine Möglichkeit Resourcestrings zur Laufzeit zu verändern? Oder, gibt es eine Möglichkeit das Array dazu zu bringen die Nicht-Konstanten Strings anzunehmen?

Danke, für die Aufmerksamkeit, das wars auch schon
Gruß,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Constant Expressions

  Alt 5. Jun 2006, 17:22
Du könntest versuchen die Strings zu Laufzeit z.B. im OnCreate Ereigniss zuzuweisen.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Constant Expressions

  Alt 5. Jun 2006, 17:27
Ja, das mache ich ja sowieso, aber:
Resourcestrings sind afaik nicht zu verändern,
Normale Strings(mit denen alles möglich wäre, was ich benötige) nimmt das array nicht
Gruß,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Constant Expressions

  Alt 5. Jun 2006, 17:33
Wieso nimmt das Array keine normalen Strings?
Einfach so deklarieren: LanguageArray: array [0..100] of string;
Dann so die Strings zuweisen: LanguageArray[0] := 'Irgendein String';

Was für ein Fehler kommt denn bisher bei dir, wenn du normale Strings zuweisen willst?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Constant Expressions

  Alt 5. Jun 2006, 17:35
Delphi-Quellcode:
  Sci_KeyboardCommandMap: array[0..95] of TIdentMapEntry = (
    (Value: SCI_Null; Name: sKeyNoCommand),
Tja, er erwartet eine Konstante Expressions, jedoch ist sKeyNoCommand(welche ein String ist) keine.
Gruß,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: Constant Expressions

  Alt 5. Jun 2006, 17:38
Was wäre, wenn du das Array so deklarierst:
Sci_KeyboardCommandMap: array[0..95] of TIdentMapEntry; und dann beispielsweise im OnCreate Ereigniss folgendes machst:
Delphi-Quellcode:
Sci_KeyboardCommandMap[0].Name := sKeyNoCommand;
Sci_KeyboardCommandMap[0].Value := SCI_Null;
//Edit: Fällt mir grade noch ein: Das ganze kann nat. nicht gehen, wenn der Wert "Name" des TIdentMapEntry Konstrukts nicht als String deklariert wurde.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Constant Expressions

  Alt 5. Jun 2006, 17:43
Hmm, naja.
Ich schreibe gerade eine Komponente um die aus mehreren Units besteht und ich habe keine Ahnung wo ich das dann Füllen soll

Gibt's nicht vielleicht doch einen anderen Weg?

Gruß,
Max

Btw, der Wert "Name" ist ein String.
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

Re: Constant Expressions

  Alt 5. Jun 2006, 17:45
Poste mal den Aufbau von TIdentMapEntry. Also in der Art sowas:
Delphi-Quellcode:
type
  TIdentMapEntry = class(TObject)

end;
//Edit:
Zitat:
Ich schreibe gerade eine Komponente um die aus mehreren Units besteht und ich habe keine Ahnung wo ich das dann Füllen soll
Im OnCreate Ereigniss der Komponente. Z.B. constructor MyComponent.Create(AOwner: TComponent);
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Constant Expressions

  Alt 5. Jun 2006, 17:46
Klar, kein Problem:
Delphi-Quellcode:
  TIdentMapEntry = record
    Value: Integer;
    Name: String;
  end;
Das ganze befindet sich in der allseits bekannten Units Classes.
Gruß,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#10

Re: Constant Expressions

  Alt 5. Jun 2006, 17:46
Zitat von Prototypjack:
Ich schreibe gerade eine Komponente um die aus mehreren Units besteht und ich habe keine Ahnung wo ich das dann Füllen soll
Wie wärs denn mit dem initialization-Abschnitt der Unit?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 Uhr.
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