Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];

Вниз

Где зарыта собака?   Найти похожие ветки 

 
spiderman   (2002-05-07 15:42) [0]

Надо отправить сообщение на другой комп. Из Internet"а много прог, одна из них:

implementation

type TNetMessageBufferSend = function(servername,
msgname,fromname:PWideChar; Buf:Pointer;
BufLen:DWord):word;

var NetMessageBufferSend:TNetMessageBufferSend;

procedure TForm1.Button1Click(Sender: TObject);
var
rname:lpcwstr;
buf:pointer;
text:string;
size:integer;
begin
@netmessagebuffersend:=nil;
rname:="128.1.5.2";
text:="Message from Sasha";
size:=sizeof(widechar)*length(text)+1;
getmem(buf,size);
pwidechar(buf):=stringtowidechar(text, buf, length(text)+1);

if netmessagebuffersend(nil,rname,nil,buf,size) <> no_error then
showmessage("error");
freemem(buf,size);
end;


Но работать не хочет и выдаёт:
... exception class EAccessViolation with message "Access Violation" at address 00000000. Read of address 00000000. ...

Пожалуйста помогите!


 
ZZ   (2002-05-07 16:08) [1]

Уже срисовывать не могут по нормальному :)
см. http://delphi.xonix.ru/faq/show.php?m=lan&n=2

...PWideChar; Buf:Pointer; BufLen:DWord):word; STDCALL;
@netmessagebuffersend:=nil; - А это полный бред :)


 
spiderman   (2002-05-07 17:20) [2]

Хорошо, но почему пишет "Файл связан с отсутствующим компонентом NETAPI32.dll:netmessagebuffersend"? Если он имеется C:\WIN\SYSTEM, и я помещал его в корневую папку.


 
ZZ   (2002-05-07 18:09) [3]

Если в WinNT, то каталог System обычно для нее ничего не значит ( надо system32).
Если win9x, то посылай сообщения через mail-слоты (поищи примеры например на яндексе)


 
Digitman   (2002-05-07 18:23) [4]

Имена экспортируемых PE-файлом ф-ций чувствительны к символьному регистру. Данная ф-ция представлена в netapi32.dll именно как "NetMessageBufferSend", ты же пытаешься импортировать ф-цию "nttmessagebuffersend", коей и в помине нет в данной библиотеке, о чем, собственно, системный PE-загрузчик тебя и извещает.


 
MMarat   (2002-05-08 13:00) [5]

Лови рабочую:

function NetSend(const MsgName,SendMsg: string): Boolean;
var
PWCMsgName, PWCSendMsg: PWideChar;
Error: Word;
begin
try
Error := 1;
GetMem(PWCMsgName, 2*Length(MsgName)+2);
GetMem(PWCSendMsg, 2*Length(SendMsg)+2);
StringToWideChar(MsgName, PWCMsgName, Length(MsgName)+2);
StringToWideChar(SendMsg, PWCSendMsg, Length(SendMsg)+2);
Error := NetMessageBufferSend(nil, PWCMsgName, nil, PWCSendMsg, 2*Length(SendMsg));
finally
FreeMem(PWCMsgName);
FreeMem(PWCSendMsg);
Result := Error = 0;
end;
end;




if NetSend(komy, text)
then form1.StatusBar1.SimpleText:="Мессага отправлена"
else form1.StatusBar1.SimpleText:="Ошибка отпраки";



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-57983
Givelerop
2002-06-26 17:18
2002.07.18
Как программно в QuickRep отобразить содержимое StringGrid?


4-58373
Deniska
2002-05-17 22:58
2002.07.18
createprocessasuser


1-58073
x2y
2002-07-08 09:28
2002.07.18
Мастера, помогите плз,


1-58132
skiph
2002-07-08 14:51
2002.07.18
Форма


1-58075
Sergey_
2002-07-08 10:03
2002.07.18
Подскажите начинающему плиззз. У меня есть SrringGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский