AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TICON - Access violation / Per Laufzeit erstellten Objekten
Thema durchsuchen
Ansicht
Themen-Optionen

TICON - Access violation / Per Laufzeit erstellten Objekten

Ein Thema von Noobix93 · begonnen am 2. Feb 2009 · letzter Beitrag vom 2. Feb 2009
Antwort Antwort
Noobix93

Registriert seit: 28. Mär 2008
Ort: Münster
21 Beiträge
 
#1

TICON - Access violation / Per Laufzeit erstellten Objekten

  Alt 2. Feb 2009, 19:21
Tag alle miteinander...

Ich bin nicht so der Delphi könner (Hab vor 1. Jahr das erste mal Programmiert) das nur aso mal vorweg...

Über die Funktion:
Die Funktion macht aus einer XML - "Verfügbaren Sprachen" eine Unterspalte in einem TPopUpMenu.

{Problem 1:
Icon - Dateien sollen zur Laufzeit aus .ico Dateien geladen werden und einer ImageList hinzugefügt werden.
Ich bekomme eine Access violation schon bei Icon.Create; Ich weis überhauptnicht was daran den schlimm sein soll ... Ziel ist es eine Icon-Datei zuladen.} Gelöst

Problem2:
Ich erstelle die Popup-Menü Einträge per Laufzeit, Per klick auf den Menüeintrag soll natürlich auch etwas geändert werden, die Proceduren

Code:
function WriteDefaultLanguage(Language:integer):Boolean;
WriteDefaultLanguage(0)
WriteDefaultLanguage soll dabei der Parameter Language übergeben werden.
Zu beachten ist auch das das ganze in eine Unit ausgelagert ist, ich zwar schon öfters Komponenten zur Laufzeit erzeugt habe aber ihnen noch nie einen "parameter" übergeben habe.

Für mich wäre auch schön zuwissen wie man es ohne "Main.MenuOptionBtnClick" funktioniert sondern mit einer Selbstangefertigten funktion wie z.b
Delphi-Quellcode:
procedure MenueLanguageclick;
begin
end;
Code:
procedure LangInitialize(AControl: TComponent);
LangInitialize(Main);
Delphi-Quellcode:
procedure AddLanguageList(Menu:TPopupMenu);
var Item:TMenuitem;
    Caption,IconFile:string;
    Imageindex,i:integer;
    shortcut:Tshortcut;
    Help:THelpContext;
    Icon:TIcon;
begin
  Icon:= TIcon.create;
  if Setxmltofile(Lngfile) then begin
      Menu.Items[0].Clear;
      Menu.Images:=Main.LangPicList;
    for i:=2 to xml.ChildNodes['avlanguages'].ChildNodes.count-1 do begin
      IconFile:=xml.ChildNodes['avlanguages'].ChildNodes[i].Attributes['icon'];
      if (Iconfile ='') then else begin
        Iconfile:=''+ExtractFilePath(Application.ExeName)+'language\'+Iconfile+'';
        showmessage(IconFile);
        try
          Icon.LoadFromFile(IconFile);
        except
          error(1005,'Fehler:Bilddatei konnte nicht geladen werden.');
        end;
        Main.LangPicList.AddIcon(Icon);
      end;
      Caption:=xml.ChildNodes['avlanguages'].ChildNodes[i].LocalName;
      Item:=Newitem(Caption,Shortcut,false,true,Main.MenuOptionBtnClick,Help,Caption);
      if Iconfile ='then else
        Item.ImageIndex:=Main.LangPicList.Count-1;
      Menu.Items[0].Add(Item);
    end;
  end;
end;
Ich verlange keinen fertigen Code auch wen sich meine schreibweise manchmal so anhört
STRG+ C ist zwar Freund des Programmierers aber am ende versteht man es selber nicht mehr
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#2

Re: TICON - Access violation / Per Laufzeit erstellten Objek

  Alt 2. Feb 2009, 19:29
Zitat von Noobix93:

Icon.Create;
also ohne auf den geammten code einzugehen steckt hier :

Icon.Create;


der erste Fehler.

es sollte zumindest heissen
Icon:= TIcon.create;

Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Noobix93

Registriert seit: 28. Mär 2008
Ort: Münster
21 Beiträge
 
#3

Re: TICON - Access violation / Per Laufzeit erstellten Objek

  Alt 2. Feb 2009, 19:36
You are my hero - funktioniert

//Edit Obrigen Code aktualisiert.
STRG+ C ist zwar Freund des Programmierers aber am ende versteht man es selber nicht mehr
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#4

Re: TICON - Access violation / Per Laufzeit erstellten Objek

  Alt 2. Feb 2009, 19:37
Zitat von Noobix93:
You are my hero - funktioniert

//Edit Obrigen Code aktualisiert.
na das freut mich


Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:34 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