Dreamer (dreamer_d) wrote,
Dreamer
dreamer_d

без лишней скромности

я реально гений.

за день собрал рабочий прототип библиотеки для доступа к OPC серверу.
средняя цена за такой фреймворк - 500$, и выше.

как обычно, гениальность пришлось доставать из чулана не просто так - найденный бесплатный кусок говно-кода содержал такие перлы, что я использовал его только для отслеживания цепочки вызовов native OPC интерфейсов.

вот парочка примеров чудо-кода :

1.
if ((dwAccessRights && OPC_READABLE) != OPC_READABLE){ // чувствуете, да?
throw OPCException("Item is not readable");
}

2.
LONG result = RegConnectRegistry(hostName, HKEY_LOCAL_MACHINE, &remoteRegHandle);
if (SUCCEEDED(result)){ ... }
это более тонкий момент, но он стоил мне получаса времени. дело в том, что RegConnectRegistry, как и все функции работы с реестром, возвращает LONG, в случае ошибки доступа она вернет ERROR_ACCESS_DENIED = 5L.
тогда как макрос SUCCEEDED это
#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
и проверяют им HRESULT, который меньше 0 в случае ошибки.

чувствуете, да?
Tags: opc, говно-код
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

  • 1 comment