nil, bir fonksiyonun türlenmemiş parametresine bildirilmemiş bir sabit olarak geçebilir mi? Bunlar gibi işlevlerim var ve derleyiciyi tatmin etmek için Data
parametresine biraz sabit geçmek istiyorum. Dahili olarak Boyut parametresiyle karar veriyorum. İşaretçi parametresi yerine İşaretçiyi kullanabileceğimi biliyorum ancak bu durum benim durumum için çok daha rahat. "nil" sabiti, yazılmamış parametreye nasıl iletilir?
E2250 There is no overloaded version of 'RS232_SendCommand' that can be called with these arguments
function RS232_SendCommand(const Command: Integer): Boolean; overload;
begin
// is it possible to pass here an undeclared constant like nil in this example?
Result := RS232_SendCommand(Command, nil, 0);
end;
function RS232_SendCommand(const Command: Integer; const Data; const Size: Integer): Boolean; overload;
begin
...
end;
alıyorum ama değişken bildiriminde terk eğer memnun olurdu.
function RS232_SendCommand(const Command: Integer): Boolean; overload;
var
Nothing: Pointer;
begin
Result := RS232_SendCommand(Command, Nothing, 0);
end;
Çözüm böyle Somthing kullanmaktır. komutlarıma bazı komut iletimi sonra gönderilen bir veri var çünkü
function RS232_SendCommand(const Command: Integer): Boolean; overload;
begin
// as the best way looks for me from the accepted answer to use this
Result := RS232_SendCommand(Command, nil^, 0);
// or it also possible to pass an empty string constant to the untyped parameter
// without declaring any variable
Result := RS232_SendCommand(Command, '', 0);
end;
ben yapıyorum. yardım
Vay, bu daha da zeki. Bunu en azından cevap olarak kabul edeceğim çünkü bunun imkansız olduğu belirtildi. Teşekkürler – TLama
Evet, bu zarif. – Kaos
Emin değilim 'nil ^' zarif olarak sınıflandırılabilir! ;-) Sadece bunun nil işaretçisini geçersiz kıldığını hatırlamalısınız. –