(Jeg antager her at Label1 er på Form1 og at TForm1 er i Unit1)
Så risikerer du at compileren i visse tilfælde bliver forvirret og opfatter sagen som
label1.text := Windows.GetWindowsDirectory;
Kun hvis din \"GetWindowsDirectory\" er oprettet som (evt. private) metode under TForm1 eller som (global) rutine i Unit1, så kan man, med fuld sikkerhed, skrive som du gør. Indrømmet, det kræver en lidt usædvanlig rækkefølge af unit navnene i uses sætningen, dvs. \"Windows\" efter navnet på den unit der indeholder GetWindowsDirectory, men det er set før. I dette tilfælde ville man i givetfald få en compiler fejl, idet der er forskel på parametre mv. Men hvis man nu i en (sub)unit oprettede en function eller procedure med samme navn og parametre typer som en standard, windows function eller procedure, så vil man løbe ind i en runtime error, der kan være hamrende svær at finde.
Indrømmet: Det er pedantisk! og giver sikkert aldrig problemer i praxis.
delphi >> Burde du ikke sætte dig ned og læse lidt compiler teori ? Hvis en compiler finder flere funktioner med samme navn vil den altid tage den der er nærmest ! Altså mig ..
Udover det synes jeg at det er bedere at pakke den slags API kald ind i en funktion .. Det andet mindere mere om C++.
PS: Har du ikke en mail di skal have besvaret ?
Jens B
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.