rejetto forum
Software => &RQ => Russian => Topic started by: slavon_net on November 01, 2003, 10:35:19 PM
-
Ðåáÿòà.
Èçâèíèòå, ÷òî ïèøó ñþäà à íå â ôîðóì ðàçðàáîòêè. Ñ àíãëèñêèì íå àõòè.
Ïðîáëåìà òàêàÿ:
×òîáû ïîëó÷èòü äàííûå èç ïëàãèíà íà C++ (VC++ .net 2003) ïðèõîäèòüñÿ äåëàòü î÷åíü áîëüøî ãåìîðîé ñ äàìïèíãîì ïàìÿòè!
ß âçÿë èñõîäíèê îò TC è ïåðåäåëàë åãî ñ "C" íà "C++". Íî òîëüêî åãî ðåàëèçàöèÿ "çàáèðàíèÿ" äàííûõ íå ìîæåò áûòü ðåàëèçîâàíà íà Ñ++... ãð¸áàíàÿ çàùèòà îò ïåðåïîëíåíèÿ äàííõ!
Ñäåëàéòå ïëèç CallBack èëè õîòÿáû íàïèøèòåðåàëèçàöèþ íà C++ êàê ìîæíî äàííûå ñîñàòü?
Çàðàíåå áëàãîäàðåí çà îòâåò, Slavon
-
î ... âîòýòî äà ... íåóæåëè â C++ íåòó ôóíêöèé ðàáîòû ñ óêàçàòåëÿìè?? åñòü óêàçàòåëü, ïî ýòîìó àäðåñó íàõîäÿòñÿ äàííûå ... íåóæåëè èõ íèêàê íå ïðî÷èòàòü???
íà äåëôè ýòî âûãëÿäèò òàê:
function _byte_at(p:pointer; ofs:integer=0):byte;
begin
inc( integer(p), ofs);
result:=byte(p^)
end;
è òàêèìæå îáðàçîì ñ îñòàëüíûìè òèïàìè äàííûõ... íå âåðþ ÷òîáû â C++ íåáûëî òàêèõ ôóíêöèé ...
-
Äà, òû ïðàâ.
Òîëüêî íà VisualC++ Net çàùèòà îò ïåðåïîëíèåíèÿ áóôåðîâ ñòîèò.
Ò.å. åñëè òû ïåðåãðóæàåøü óêàçàòåëü â ÑÂÎÅÉ îáëàòè ïàìÿòè, òî îí ðàçðåøèò òåáå ýòî ñäåëàòü, à åñëè íåò...
Ó... ïèøè ïðîïàëà... íàäî ïîëüçîâàòüñÿ êó÷åé ôóíêöèé, ÷òîáû ñíà÷àëà âçÿòü ïîä ñåáÿ ïðîöåññ &RQ, à çàòåì ó íåãî óæå áðàòü èç ïàìÿòè çíà÷åíèå... Íî ýòî åù¸ ïîë áåäû, ÷òîáû çàïèñàòü â íåãî... ýòî âîîáùå ãåìîðîé...
Ïîä Win 9x ýòî åù¸ íå î÷åíü ñëîæíî, íî â Win NT/2000/XP ó êàæäîé ÿ÷åéêè ïàìÿòè åñòü çàùèòà. Èõìî òîëüêî ïðîãà - ïðîðàäèòåëü ïàìÿòè ñïîñîáíà ïèñâàòü èíôó íå¸! Åñëè íåò... îïÿòü ãåìîðîé...
Íà äåëôè â ðàìêàõ ñîâìåñòèìîñòè ïèøåòñÿ êîä, êîòîðûé ïîçâîëÿåò ýòî ñäåëàòü... Íåäàðîì äàæå ArtMoney, êîòðûé ðàáîòàåò ñ ïàìÿòüþ íàïèñàí ïîä Delphi.
Åñòü íåñêîëüêî âàðèàíòîâ, ÷òîáû íå ïèñàòü êó÷ó êîäà ðàáîòû ñ ïàìÿòüþ - ñäåëàòü ó &RQ API èëè CallBack ôóíêöèþ...
Ïîíÿòíî îáÿñíèë?
åñëè åñòü ïðåäëîæåíèÿ êàê ýòî ðåàëèçîâàòü - ïèøèòå ñþäà, èëè ïîìîãèòå... ICQ 10796911 :)))))