Różnica między 'with' z nawiasami i bez nawiasów.

0

Witajcie !

Tak się zastanawiam, jaka jest różnica pomiędzy:

With Rekord Do

AWith (Rekord) Do

W drugim pokazuje 'Left side cannot be assigned to'
Czyli, jeżeli zapiszę "With (Zmienna) Do", to wtedy mogę tylko odczytywać wartości ?
---
Zmienna w sensie rekordu...
0

może pokaż deklarację rekordu i co próbujesz przypisać

0
Var FS: DevMode; // FS - Full Screen
Begin
ZeroMemory(@FS, SizeOf(FS));
With FS Do
Begin
 dmSize       := SizeOf(FS);          
 dmPelsWidth  := Width;
 dmPelsHeight := Height;
 dmBitsPerPel := 32;
 dmFields     := DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL;
End;

I tak jest OK.
Natomiast tak:

Var FS: DevMode; // FS - Full Screen
Begin
ZeroMemory(@FS, SizeOf(FS));
With (FS) Do // Nawiasy
Begin
 dmSize       := SizeOf(FS);          
 dmPelsWidth  := Width;
 dmPelsHeight := Height;
 dmBitsPerPel := 32;
 dmFields     := DM_PELSWIDTH Or DM_PELSHEIGHT Or DM_BITSPERPEL;
End;

Pokazuje 'Left side cannot be assigned to' - nie wiadomo (czyt.ja nie wiem), dlaczego.

A deklaracja rekordu...
http://msdn.microsoft.com/en-us/library/dd183565(v=vs.85).aspx

0

Jest to chyba bug kompilatora. Dla porównania, Free Pascal kod przepuszcza nawet jak jest kilka nawiasów.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.