如何正确访问onCreate函数中的"view"变量?我想要,loadUrl()但它会抛出一个错误,public Emitter.Listener onServerReceive = new Emitter.Listener() {在view = loadUrl:
Run Code Online (Sandbox Code Playgroud)E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException at com.myapp.MainActivity$7$1.run(MainActivity.java:399) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:177) at android.app.ActivityThread.main(ActivityThread.java:4947) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) at dalvik.system.NativeStart.main(Native Method)
import com.github.nkzawa.emitter.Emitter;
....
public class MainActivity extends Activity {
WebView view;
Socket mSocket;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
view = (WebView) findViewById(R.id.webView);
view.getSettings().setJavaScriptEnabled(true);
...
view.loadUrl("file:///android_asset/loading.html");
}
...
@JavascriptInterface
public void websocket_start(){
try …Run Code Online (Sandbox Code Playgroud) 最后会阻止执行吗?如果我通过退出; ?
procedure someProc;
begin
Try
Exit;
finally
do_something;
end;
end;
Run Code Online (Sandbox Code Playgroud) 我有排序/订单的问题,而不是像我需要的那样工作.
SELECT `proc` FROM `table` ORDER BY `proc` DESC;
Run Code Online (Sandbox Code Playgroud)
结果:
80.0 proc
70.0 proc
60.0 proc
50.0 proc
40.0 proc
200.0 proc
20.0 proc
190.0 proc
180.0 proc
170.0 proc
160.0 proc
150.0 proc
140.0 proc
130.0 proc
120.0 proc
110.0 proc
100.0 proc
Run Code Online (Sandbox Code Playgroud)
我需要的是:
200.0 proc
190.0 proc
180.0 proc
170.0 proc
160.0 proc
150.0 proc
140.0 proc
130.0 proc
120.0 proc
110.0 proc
100.0 proc
90.0 proc
80.0 proc
70.0 proc
60.0 proc
50.0 proc
40.0 proc
20.0 …Run Code Online (Sandbox Code Playgroud) 如何创建Thread Safe全局TList?
unit Unit1;
interface
uses
...;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
global_TList: TList; // Not thread safe?
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
// something
end;
end.
Run Code Online (Sandbox Code Playgroud)
我有两个线程,可以写入global_TList,但据我所知,它不是线程安全的.
那么如何让它安全?
Delphi 2010,Indy 10,Win7
如何使用IdTCPServer或IdTCPClient获得当前带宽速度?
我想知道,客户端从服务器下载数据的速度有多快?
例如:下载速度:450 kbps
是什么区别:
AContext.Socket.ReadBytes(...);
vs
AContext.IOHandler.ReadBytes(...);
Run Code Online (Sandbox Code Playgroud)
他们的工作方式相同吗?或者也许是IOHandler中的一些缓存或什么?
有人可以告诉我如何通过多线程中的一个连接发送和接收数据.
模型看起来像这样:

我所知道的是,如果所有三个客户端同时发送数据,"客户端X"将接收所有接收数据的合并,并且"客户端X"不能分离该数据以识别哪个部分来自哪个客户端.
Delphi 2010,Indy,Win7.
对不起,如果我的英语不好,我希望你理解这个想法.
如何将TIdBytes编码为Base64字符串(不是AnsiString)?
ASocket.IOHandler.CheckForDataOnSource(5);
if not ASocket.Socket.InputBufferIsEmpty then
begin
ASocket.Socket.InputBuffer.ExtractToBytes(data);
// here I need to encode data to base64 string, how ? I don't need AnsiString!!
// var s:string;
s := EncodeBase64(data, Length(data)); // but it will be AnsiString :(
Run Code Online (Sandbox Code Playgroud)
或者如何通过AContext.Connection.Socket.Write()发送AnsiString?
编译器说从'AnsiString'到'string'的隐式字符串转换
"data"变量包含来自网站的UTF-8数据.
我从网络服务器获取数据:
data := '
HTTP/1.1 200 OK
Content-Encoding: gzip
Vary: Accept-Encoding
Content-type: text/html
Transfer-Encoding: chunked
Server: Apache
3d5
????????????????????????????????????
????????????????????????????????????
????????????????????????????????????
';
Run Code Online (Sandbox Code Playgroud)
数据大小为:3d5(十六进制)全部存储到TIdBytes变量"data".
如何解码gziped数据,更改其中的内容,然后编码并将长度3d5编辑为新的.
可能的重复:
Delphi 计时器:下一个事件之前的时间
如何获取计时器执行时的当前剩余时间?
例如:
我创建了一个间隔为 60 000 的计时器
procedure TForm1.my_Timer(Sender: TObject);
begin
// do something
end;
Run Code Online (Sandbox Code Playgroud)
然后我创建另一个计时器(间隔1000),其原因是获取第一个计时器的剩余时间
procedure TForm1.second_Timer(Sender: TObject);
begin
second_Timer.Interval := 1000;
Label1.Caption := IntToStr(my_Timer.timeleft); // How ???
end;
Run Code Online (Sandbox Code Playgroud)
谢谢。