I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Hvis du har en TMenuItem som du gerne vil hægte en nyt på, eksempelvis den sædvanlige "Files", så kan du gøre det således:
procedure TForm1.Button1Click(Sender: TObject); var MenuItem : TMenuItem; begin // Så håndterer den også sletning. Hvis du angiver nil, så skal du selv sørge // for at frigive den igen. MenuItem := TMenuItem.Create(MainMenu1); MenuItem.Caption := 'Hello World'; miFiles.Add(MenuItem); end;
procedure TForm1.N11Click(Sender: TObject); var men : tmenuitem;
begin men:=tmenuitem.Create(self); men.Parent:=self; men.Name:='hej'; men.Caption:='hej'; mainmenu.additem(men); // mainmenu.items.add(men); // kan ikke lige huske hvor den ligger // eller skulle du også kunne bruge Owner // men.Owner := mainmenu; // Owner sætter din menuitem comp. ind i mainmenuen's liste // Parent søger for at du får en Paint, altså at din menuitem // bliver tegnet rigtig på skærmen. // Så ved du det :) end;
Min kommentar vedrører hvad du skriver i TMenuItems.Create(). Hold i øvrigt op med at bruge de globale variable når de ikke er nødvendige. Din "men" er en forkert måde at lave det på.
Hvis du vil have noget semi-globalt så lav' det som en "private member" og sæt et "f" foran da det er en de-facto standard at man gør det ved de private medlemmer:
Endelig bør du lave længere og mere forklarende navne. Din men kan nemt forveksles med mem og det er noget helt andet. Store bogstaver er også en god idé, men for mange ødelægger overskueligheden. En god tommelfingerregel er at hvis klassen hedder TMenuItem og du har brug for en variabel så skal den hedde MenuItem.
prøver tingene af. ind til videre har jeg nogle problemer med dit, hrc. hvad er 'mifiles' (sidste linje)? martinlind, dit virker.
der går nok et stykke tid før jeg er færdig, fordi faktisk, skal jeg lave flere menuitems med en for-løkke, som hver skal have en onclick-procedure. og det skal jeg jo lige have løst.
hrc >>> ikke noget, du kom bare lige lidt før mig :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.