Перевод с карты на карту

Перевести деньги с карты на карту достаточно просто
Альфабанк реализовал специально для этого сервис https://www.alfaportal.ru, где берется небольшая комиссия, а для клиентов альфабанка - вовсе 0%

Отправляете деньги родителям или близким? Нужно перевести деньги в другой город России или за границу? Погасить кредит? Теперь переводить деньги между картами разных банков очень просто и удобно.

Bad flags on delegate constructor

Прям exception-неделя у меня )

В общем ответ гуглился и взят отсюда


The cause is a System.Windows.Form v2.0 bug I identified this morning (and that is fixed in System.Windows.Form v4.0).
For me it happened while my code adds an Item to the ListBox while the hosting process is shutting down. The private instance field ListBox.listItemsArray is null and this provokes theNullReferenceException. I don't know exactly why ListBox.listItemsArray is null, but I'd guess it is related to a handle creation problem.
For me the workaround was easy since a try/catch was enough because the process is shutting down anyway. You can certainly dig ino the problem with the decompiling Reflector feature as I did:
enter image description here

Generic method or method in generic class is internal call, PInvoke, or is defined in a COM Import class.

Возможно в генерик-классе импортируется функция внешней библиотеке
Импорт нужно вынести из класса

Пример такой функции:
[System.Runtime.InteropServices.DllImport("Kernel32")]
public extern static Boolean CloseHandle(IntPtr handle);

WebBrowser.Navigate - HRESULT: 0x800700AA

Используем компоненту WebBrowser, и при выполнении WebBrowser.Navigate(url) приложение падает с ошибкой HRESULT: 0x800700AA
На самом деле все просто - где-то на фоне висит диалоговое окно, от подгруженного браузера, блокирующее дальнейшие операции с компонентой (если окна не видно, добавьте в проект COM сборку Microsoft Internet Components)
В настройках IE уберите отображение этого окна

Поищи за меня / Давай google поищи для меня...

http://guglite.ru/ - отличный сервис, демонстрирующий пользователю простоту использования поисковой системы google, с предпосылки стороннего лица

Иногда действительно раздражает, что пользователи ленятся просто загуглить, и я не стесняясь всегда кидаю поисковый запрос через этот сервис, и знаете - некоторые действительно научились гуглить!

Я был тааак счастлив :)

Ограничение доступа на подключение к базе Firebird или Firebird GRANT CONNECT

БД Firebird меня разочаровали - нет возможности настроить запрет на подключение к БД для совершенно левых (хотя и RDB$ADMIN) пользователей

Зато есть возможность обрабатывать триггер подключения к БД - bi_connect

В нем достаточно проверить логин и/или роль пользователя и в случае если доступ закрыт - выкинуть ошибку

Подробный сценарий:

1. Приконнектиться через IBExpert к обрабатываемой БД под SYSDBA обязательно!
2. Нажать F12
3. Вставить код:
execute block(username varchar(255) = :username)
AS
begin
execute statement('CREATE EXCEPTION access_forbidden ''No access  for your username =)''');
 
execute statement('CREATE OR ALTER trigger bi_connect
                   active on connect position 0
                    as
                   begin
                      if (user <> ''SYSDBA'' and user <> ''' || :username || ''')
                         then exception access_forbidden;
                   end');
end
4. Нажать F9
5. Ввести логин, которому нужно разрешить коннект к БД
6. Повторно нажать F9
7. Нажать CTRL+ALT+C подтвердив изменения
8. Проверить подключение к БД под SYSDBA, указанным пользователем и совершенно левым пользователем
P.S.: В случае, если у вас нет IBExpert - выполните код пункта 3 из консоли, или как вы привыкли )